antlr/CHANGES.txt

56 lines
1.4 KiB
Plaintext

ANTLR v4 Honey Badger early access
Jan 21, 2012
* Added modeNames to gen'd lexers
* added lexer commands
skip
more
popMode
mode(x)
pushMode(x)
type(x)
channel(x)
WS : (' '|'\n')+ -> skip ;
use commas to separate commands: "-> skip, mode(FOO)"
Jan 14, 2012
* labels on tokens in left-recursive rules caused codegen exception.
* leave start/stop char index alone in CommonTokenFactory; refers to original text.
* reuse of -> label on multiple alts in rule caused dup ctx object defs.
Jan 11, 2012
* -> id labels work now for outermost alternatives, even for left-recursive
rules; e.g.,
| a=e '*' b=e {$v = $a.v * $b.v;} -> mult
* Fixed a bug where visitTerminal got a NPE
* in tree views, spaces/newlines were blanks. I converted to \n and middle dot
for space.
Jan 5, 2012
* Deleted code to call specific listeners by mistake. added back.
* Labels allowed in left-recursive rules:
e returns [int v]
: a=e '*' b=e {$v = $a.v * $b.v;}
| a=e '+' b=e {$v = $a.v + $b.v;}
| INT {$v = $INT.int;}
| '(' x=e ')' {$v = $x.v;}
;
Jan 4, 2012
* '_' was allowed first in symbol names in grammar
* fix unit tests
* Allow labels in left-recursive rules
* lr rules now gen only 1 rule e->e not e->e_ etc... altered tests to build parse trees.
* no more -trace, use Parser.setTrace(true)
* add context rule option; not hooked up
* 1+2*3 now gives new parse tree: (e (e 1) + (e (e 2) * (e 3)))