On Sep 17, 2008, at 3:50 PM, Sam Harwell wrote:

> In the past, I noted that one of the ANTLR compile errors was  
> checking a visual ambiguity and not a syntactic ambiguity. In order  
> to work around the error, I have placed a label (“right=”) on one of  
> the references in the following rule. However, I still get:
>
> error 132: reference $assign_expression is ambiguous; rule  
> assign_expression is enclosing rule and referenced in the production  
> (assuming enclosing rule)
>
> assign_expression
>         :       (       ternary_expression
>                         -> ternary_expression
>                 )
>                 (       assignment_operator
>                         right=assign_expression
>                         -> ^(assignment_operator $assign_expression  
> $right)
>                 )?
>         ;

Because it is ambiguous, I elected to give an error message. Yep, we  
do need a way to reference the entire outer rule's tree. should it be $ 
$?

Ter

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

Reply via email to