Florian Barth wrote:
> Hi everyone!
> I'm writing a language transformator based on AntLR and I'm running 
> into some problems:
> In order to transform conditional statement my parser constructs the 
> following AST:
>
>
> I try to map the conditional statement to StringTemplate with the 
> following rule:
> cond    :    ^(IF
>             ^(CONDITION conds+=condExpression)
>             ^(THEN thens+=expression)
>              ^(ELSEIF
>                  ^(conds+=CONDITION condExpression)
>                  ^(thens+=THEN expression)
>             )*
>              ^(ELSE else=expression)?
>         )
>         ->    
> conditional(conditions={$conds.st},thens={$thens.st},else={$else.st})
>         ;
>
> The first problem I'm running into is that '?' and '*' seem to be not 
> allowed in tree grammars.
>
You are confusing the () that mark the node with those that collect a 
group. You need:

(
    ^(TT x x x)
)*

Jim

List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org/mailman/options/antlr-interest/your-email-address

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"il-antlr-interest" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/il-antlr-interest?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to