[antlr-interest] empty rule catches unthrown RecognitionException
Trevor John Thompson
tijet at mac.com
Fri Jul 1 15:10:19 PDT 2011
I have a grammar in which i wish to create an imaginary AST node, and then have an action treat that node. The most straightforward expression i have devised is:
grammar Empty;
options {output=AST;}
tokens {Imaginary;}
@members {void treat(Object t){}}
parse: empty EOF! {treat($empty.tree);};
empty: ->^(Imaginary);
However, the generated EmptyParser.java fails to compile because empty() catches RecognitionException, which is never thrown.
I am working around this by:
empty: ->^(Imaginary)|Imaginary;
which works because the imaginary token can never be produced by the lexer.
Is there some other way i should be going about this?
--
Trevor John Thompson (425) 246-4023
net: tijet at me.com
Quidquid Latine scriptum sit, altum videtur.
More information about the antlr-interest
mailing list