ANTLR 3.1.1 Release Notes
ANTLR v3.1.1
October 1, 2008
Terence Parr
ANTLR project lead and supreme dictator for life
University of San Francisco
Credits
ANTLR v3.1.1 is a bug fix release (and a few tweaks to the examples-v3 directory).
From bug tracking system
- ANTLR-4 Imaginary ttoken rewrite requires 8 bit characters - needs STRING type
- ANTLR-314 rule return aggregate type must be same for all += labels
- ANTLR-320 FOLLOW of rule element not computed properly
- ANTLR-326 Users sees small memory leak at the termination of tree producing parser
- ANTLR-334 Check index 0 vs -1 changes
Also fixed a few minor bugs such as:
- a missing attribute definition in error template.
- pushFollow in BaseRecognizer was incorrect; it altered cache values instead of duplicating.
- Made a REV static variable in Tool so that we can change the rev for daily builds.
- Labels on tokens, rules carry into synpreds now so semantic predicates work. This didn't work since labels were stripped in the synpred and they weren't defined in the generated method.
a : x=A z=a {$x.text.equals($z.text)}? A | y=A a A A ;
- Made \uFFFF a valid character. Token types are 32-bit clean using -1 not 0x0000FFFF as -1 so it should be okay. Label.java:
public static final int MIN_CHAR_VALUE = '\u0000'; public static final int MAX_CHAR_VALUE = '\uFFFF';
Incompatibilities
The runtime library names changed from antlr-runtime-3.1 (old version) to antlr-3.1.1-runtime.