[antlr-interest] Another update to Honey Badger
Kyle Ferrio
kferrio at gmail.com
Sat Jan 21 17:45:13 PST 2012
Ter,
Thank you! This may seem like a small thing, but it really saves time when
reusing grammars. By making common actions transparent, any special
actions will stand out.
Kyle
On Jan 21, 2012 4:43 PM, "Terence Parr" <parrt at cs.usfca.edu> wrote:
> Hi, I have made an update to Honey Badger to allow special lexer commands
> to do the usual things without resorting to actions in the target language.
> This renders lexers almost always language neutral. Without actions in the
> parser, because of the parse trees, we should be very language neutral for
> honey badger grammars.
>
> In the lexer, you now have the choice of these commands:
>
> skip
> more
> popMode
> mode(x)
> pushMode(x)
> type(x)
> channel(x)
>
> You can combine them with a comma and you can only have these commands at
> the end of an outer alternative:
>
> WS : (' '|'\n')+ -> skip ;
> WS : (' '|'\n')+ -> channel(HIDDEN) ;
>
> CURLY : '{' -> more, pushMode(BLOCKS) ;
>
> You can check it out here on the updated example page:
>
> http://www.antlr.org/wiki/display/ANTLR4/Examples
> http://www.antlr.org/depot/antlr4/main/CHANGES.txt
>
> Download here:
>
> http://antlr.org/download/antlr-4.0ea-complete.jar
>
> I will update the examples soon.
>
> Note that the old-style actions still work; these new commands simply
> translate to the raw actions. Obviously, if you need to do some logic
> before sending the token type, you will need to use an action in the target
> language.
>
> Enjoy,
> Ter
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
More information about the antlr-interest
mailing list