[antlr-interest] Why BANG after rule id ?
Kaleb Pederson
kaleb.pederson at gmail.com
Tue Oct 6 14:18:55 PDT 2009
On Tuesday 06 October 2009 03:15:05 am Graham Wideman wrote:
> Hi folks:
>
> I see in the ANTLR grammar that you can place a BANG (exclamation point) after the initial rule id in a rule. Indeed it's used in the ANTLR v3 grammar itself:
>
> ----------------------------
> range!
> : c1=CHAR_LITERAL RANGE c2=CHAR_LITERAL elementOptions?
> -> ^(CHAR_RANGE[$c1,".."] $c1 $c2 elementOptions?)
> ;
> ----------------------------
>
> Could someone illuminate what this ! does?
The exclamation mark is placed on a node when that node should not be present in the AST when output=AST for a grammar.
See:
http://jnb.ociweb.com/jnb/jnbJun2008.html#CreatingASTs
http://www.antlr.org/wiki/display/ANTLR3/Tree+construction
--Kaleb
http://twitter.com/kalebpederson
http://kalebpederson.com
More information about the antlr-interest
mailing list