Greetings, I've encountered the issue noted in the subject - CommonTreeNodeStream.index() does not return the correct current index into the stream. Just reporting to give it any extra visibility it may so that its fix is incorporated into the next release.
It was an entertaining bug in my case, though. The method seems to return an index into its node buffer, and the index may adjust depending on invocation of LT(n) probably because it can cause buffering additional nodes. So, given the same input, I could get different outcomes if I trace it under a debugger while monitoring LT(n) - like a heisenbug. :-) More specifically in my instance, the error recovery code that uses index() to see if the error recovery is getting stuck, it leads to different outcomes depending on the index() values when encountering multiple errors. BufferedTreeNodeStream seems to serve well as an alternative for now. Regards, J 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.
