Sam Harwell schrieb:
> I have run into this issue before and it'll simplify some of my rules
> now that it's fixed. I believe the other thing that didn't carry into
> synpreds was parameterized rules:
> 
> a[bool b]
>  : {b}? c
>  | d
>  ;
> 
> x : (a[true])? => a[true]
>   | y
>   ;

That's actually due to hoisting a bad design - in certain contexts b
won't be available. ANTLR should generate an error here.

Johannes
> 
> Sam
> 
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> On Behalf Of Terence Parr
> Sent: Monday, September 08, 2008 7:29 PM
> To: ANTLR-dev Dev
> Cc: Leon Su
> Subject: [antlr-dev] labels carried into synpreds now
> 
> * Labels on tokens, rules carry into synpreds now so semantic  
> predicates work.
>    This didn't work since labels were stripped in the synpred and they  
> weren't
>    defined in the generated method.
> 
>    a : x=A z=a {$x.text.equals($z.text)}? A
>      | y=A a A A
>      ;
> 
> edit //depot/code/antlr/main/CHANGES.txt#96
> edit //depot/code/antlr/main/src/org/antlr/codegen/templates/Java/ 
> Java.stg#138
> edit //depot/code/antlr/main/src/org/antlr/tool/GrammarAST.java#47
> Change 5256 submitted.
> 
> Ter
> _______________________________________________
> antlr-dev mailing list
> [email protected]
> http://www.antlr.org:8080/mailman/listinfo/antlr-dev
> _______________________________________________
> antlr-dev mailing list
> [email protected]
> http://www.antlr.org:8080/mailman/listinfo/antlr-dev
> 

_______________________________________________
antlr-dev mailing list
[email protected]
http://www.antlr.org:8080/mailman/listinfo/antlr-dev

Reply via email to