On Sep 17, 2008, at 5:05 PM, Jim Idle wrote:

> On Wed, 2008-09-17 at 17:02 -0700, Terence Parr wrote:
>>
>> 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 $
>> $?
>
> As in: $$assignment_operator, or just $$ ?

Just $$.  I guess I was thinking about ## shorthand from version 2  
antlr.  $this and $self make me nervous because they are normally  
associate with objects and might refer to the current grammar/parser  
not the rule.

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

Reply via email to