Gavin Lambert wrote:
> At 10:12 14/08/2009, [email protected] 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.

Even after calling lexer.nextToken() the .size() still returns zero.

> 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...

I'm filling the input window properly, and a __Test___input.txt file is 
generated in the output folder which contains the entered input. I make 
sure to step through to the end, using either the Fast Forward button or 
single stepping. At one point this Grammar did work correctly in the 
debugger.

I hope we can figure out why this is apparently difficult in ANTLR. 
Thanks for your help.

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to