[antlr-interest] Doubt About rewrite rulse

Victor Giordano power_giordo at yahoo.com.ar
Tue Aug 10 13:31:19 PDT 2010


Thanks Junkman!!! But it's still doesn't work... :(.
I have another example:

rule: TOKEN1? TOKEN2 -> ^(TOKEN1 TOKEN2) Works when token1 actually 
exists, but when no.. :( ugly things happen..

Well, thanks for advance again!!.
Cya.



El 10/08/2010 05:00 p.m., Junkman escribió:
> Hi Victor,
>
> Victor Giordano wrote:
>> Hi, i am a newbie. Trying to figure out how to work with AST tree and
>>
>> ...
>>
>> butttttttt if i want to use rewrite rules... how do i thread the
>> repetion EBNF operator like * or +.
>>
>> expr : term (('+'|'-') term)* ->  term ^(('+'|'-') term)* ;
>>
>
> try this:
>
> expr: ( term ->  term )
>        ( ( '+' | '-' ) term ->  ^( ( '+' | '-' ) $expr term ) )* ;
>
>
> Not sure if the terms need to be distinguished with labels.
>
> The Antlr reference book describes the use of rewrite rule inside
> subrule in more detail.
>
> J
>



More information about the antlr-interest mailing list