[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