/
ANTLR 3.5 Release Notes
ANTLR 3.5 Release Notes
Improvements
- Add Gokulakannan Somasundaram's C++ target based upon C target. Use language=Cpp in options. It's a header-only library, runtime/Cpp/include, so installation is not required.
- Python 3.3 target added by Benjamin Wolf based upon Python 2 target https://github.com/antlr/antlr3/pull/23
- GUnit improvements https://github.com/antlr/antlr3/pull/27
- ANTLR3 update of ObjC runtime to go with latest ST4-ObjC https://github.com/antlr/antlr3/pull/17
- Provide Lexer get end of file method so people can override it.
Bug Fixes
- Improve error reporting and recovery for STRAY_BRACKET, fixes antlr/antlr3#42
- Do not write output files if errors were reported, fixes antlr/antlr3#61
- Fix AST operator on labeled set of terminals e.g. x=(A|B)^
- Fix labeled set of terminals with rewrite e.g. x=(A|B) -> $x
- Added error msg for .. in parser
- LookaheadStream bug fixes; https://github.com/antlr/antlr3/pull/21
- Pulled "Fix Python handling of syntactic predicates" https://github.com/antlr/antlr3/pull/33
- stderr not test correctly in gunit examineExecResult
- Dieter Habelitz reported bug in java code gen with synpreds. labels were being carried from grammar into synpreds but weren't typed properly (they were "void x=null;" for x=ruleref labels)
- (Sam) Rule.setOption didn't do memoize option right.
- (Sam) Fix labels in synpreds
- (Sam) Fix input index for NoViableAltException during inline prediction
- (Sam) Fix label aliasing errors in cases like (x=y|x=z)
- (Sam) fix stack overflow in semantic context analysis
- added range check to BaseTree.insertChild()