Петров Александр schrieb:
> Hello,
> 
> I'm using semantic predicates in tree grammar:
> 
> //deviceID is a rule
> deviceFuncID
> :     ^(NODE1 ^(NODE2 ^(NODE3 deviceID)))
>         (
>       {
>                    //IsID function has signature:  bool IsID(string id)
>                     IsID(
>                  $deviceID.text,
>                           )
>                   }?
>       -> oneTemplate(...)
>                 |-> otherTemplate(...)
>          );
> 
> deviceID      :       'this'->{%{"this"}}
> 
> But when I try to compile generated C# code (antlr 3.1.1)I have many
> errors like that:
> 
> ---- The name 'deviceID25' does not exist in the current context
> 
> In antlr 3.0.1 such grammar produce compilable code.
> If I rewrite that code as (remove brackets)
> 
> deviceFuncID
> :     ^(CCALL ^(CSYNCCALL ^(OBJECTNAME deviceID)))
> 
>       {
>                     IsID(
>                  $deviceID.text,
>                           )
>                   }?
>       -> oneTemplate(...)
>                // |-> otherTemplate(...)
> 
> Then all right, but I want to have alternative clause for semantic predicate.
> If I uncomment alternative clause, then I have:
> 
> ---- error(201):  The following alternatives can never be matched: 2
> 
> What should I do ? What is the cause of such errors ?
> 
> Thank you

Without the full tree grammar I can't check for the source of the
problems. Can you send it to me along with the combined grammar (or at
least the tokens file of the combined grammar)?

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


List: http://www.antlr.org:8080/mailman/listinfo/antlr-interest
Unsubscribe: 
http://www.antlr.org:8080/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