antlr/antlr4 — pull request #340 by parrt (2013-10-12 20:23:46+00:00)
Title: Add Parser ATN interpreter (needs tool not just the runtime)

* index() in BufferedTokenStream was not forcing initialization of the
stream and giving bad results if you called it before anything else.

* Recognizer.sempred() changed; added source ATNState for PredicateTransition

* Added ParserInterpreter and shuffled the classes around a little bit.
The interpreter works even with left recursive rules, producing the
correct parse trees. See TestParserInterpreter for unit tests.

* Actions were not tracked uniquely in alt info and Rule. Made UniqueList
so we track same ActionAST just once.