[antlr-interest] rewrite rule translation to tree grammar
Terence Parr
parrt at cs.usfca.edu
Fri Dec 14 14:23:59 PST 2007
On Dec 14, 2007, at 1:34 PM, Johannes Luber wrote:
> Terence Parr schrieb:
>> First, allow me to suggest:
>>
>> expr : INT ('+'^ INT)* ;
>>
>> To match either in tree grammar:
>>
>> expr : ^('+' expr expr)
>> | INT
>> ;
>
> So my rule should be:
>
> qualified_identifier
> : (i1=IDENTIFIER -> ^(QUALIFIED_IDENTIFIER $i1))
> (DOT i2=IDENTIFIER -> ^(ROOT $qualified_identifier DOT $i2))*
> ;
why not
qid : ID (DOT^ ID)* ;
> And the tree grammar equivalent:
>
> qualified_identifier
> : ^(ROOT qualified_identifier DOT i2=IDENTIFIER)
> | ^(QUALIFIED_IDENTIFIER IDENTIFIER)
> ;
qid : ^(DOT qid)
| ID
;
Ter
More information about the antlr-interest
mailing list