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