[antlr-interest] Very simple grammar confusing me

John B. Brodie jbb at acm.org
Tue Nov 9 06:46:50 PST 2010


Greetings!

On Tue, 2010-11-09 at 15:26 +0100, Oliver Zeigermann wrote:
> Folks!
> 
> This is my grammar
> 
> ------------------
> SHRASS : '>>=' ;
> SEMI  : ';' ;
> GT : '>';
> 
> rule : (GT | SEMI | SHRASS)+ ;
> ------------------
> 
> I though it should parse
> 
> >>;
> 
> into a token stream of
> 
> GT GT SEMI
> 
> but as I see both at runtime as well is in the mToken method it tries
> to match the above input using SHRASS. Which of course fails.
> 
> Any hints what I could do to work around that?
> 

untested!

but I believe this should work:

tokens { SHRASS; } // e.g. add SHRASS to your tokens section
...
...
// delete the SHRASS rule
GT : '>' ( '>=' {$type = SHRASS;} )?



hope this helps...
   -jbb




More information about the antlr-interest mailing list