[antlr-interest] Simple Grammar breaks ANTLRWorks Interpreter & Debugger?
Gavin Lambert
antlr at mirality.co.nz
Fri Aug 14 00:40:27 PDT 2009
At 10:12 14/08/2009, consiliens at gmail.com wrote:
>QuizLexer lexer = new QuizLexer(new ANTLRFileStream(input));
>CommonTokenStream tokens = new CommonTokenStream(lexer);
>// prints 0
>System.out.println(tokens.size());
>
>So according to this there are no tokens, which would explain
the
>blank debugger Input window. If the ANTLRWorks Interpreter runs
>the code correctly, why not the Debugger or unit tests?
Actually that's a bit deceptive :)
The stream starts out empty, and thus .size() returns 0. It
doesn't get populated until the first time a token is
requested. So after calling .nextToken() once then .size() should
give you the true value.
Silly question, perhaps, but are you sure you're filling in the
input window properly when starting the debugger? And actually
stepping through to the end?
Generally, I find the debugger significantly more reliable than
the interpreter ever is...
More information about the antlr-interest
mailing list