[antlr-interest] empty rule catches unthrown RecognitionException

Terence Parr parrt at cs.usfca.edu
Fri Jul 1 15:12:31 PDT 2011


i fixed this in latest beta for 3.4...can you try that?
Ter
On Jul 1, 2011, at 3:10 PM, Trevor John Thompson wrote:

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