Hi there!
Thank you for this hint. It works and the conds and thens are properly  
computed.
This solved problem number one, but the number two is still there.
If I feed the template with a list of values (that need further rules  
to be applied) the compiler still complains because of the multi- 
valued attribute:
[12:51:16] error(125): ResultGenerator.g:47:8: label conds type  
mismatch with previous definition: token-list!=rule-list
[12:51:16] error(125): ResultGenerator.g:48:8: label thens type  
mismatch with previous definition: token-list!=rule-list

I think this error message is related to the conds.st and then.st.  
With single values this works, but it is not applicable to multi- 
valued attributes.
I need to state something like
"for each value of value-list do
        apply further rules and apply the according template
return these values to super-template as list of evaluated strings"

Any ideas?

On 30.04.2009, at 12:12, Michael wrote:

> Am Thursday 30 April 2009 11:25:28 schrieb Florian Barth:
>> 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:
>
>
>> The first problem I'm running into is that '?' and '*' seem to be not
>> allowed in tree grammars
>
> I think you must write it with parens like:   (^(NODE foo))*
> try this:
>
> cond    :       ^(IF
>                        ^(CONDITION conds+=condExpression)
>                        ^(THEN thens+=expression)
>                        (^(ELSEIF
>                                ^(conds+=CONDITION condExpression)
>                                ^(thens+=THEN expression)
>                        ))*
>                        (^(ELSE else=expression))?
>                )
>
>
> Michael


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