[antlr-interest] Very simple grammar confusing me

Oliver Zeigermann oliver.zeigermann at gmail.com
Tue Nov 9 08:15:12 PST 2010


Hi John!

That actually does work, thanks for the hint :)

- Oliver

2010/11/9 John B. Brodie <jbb at acm.org>:
> 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