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)))