[antlr-interest] wildcard in tree grammar
Gavin Lambert
antlr at mirality.co.nz
Thu Nov 27 02:43:33 PST 2008
At 21:23 27/11/2008, Oliver Zeigermann wrote:
>> In other words (in vaguely ANTLR-like syntax):
>>
>> wildtree : ANYNODE | ^(ANYNODE wildtree*) ;
>>
>> . => wild
>> ^(.) => ANYNODE
>> ^(. FOO) => ^(ANYNODE FOO)
>> ^(FOO .) => ^(FOO wildtree)
>> ^(FOO . .) => ^(FOO wildtree wildtree)
>> ^(FOO .+) => ^(FOO wildtree+)
>> ^(FOO .*) => ^(FOO wildtree*)
>
>Using these semantics my original rule
>
>tree : ^(. tree* ) ;
>
>would match any tree even if subtrees are single nodes
>only, right?
Right. That makes the most sense to me, since it keeps the
structure consistent and treats a leaf node on the tree exactly
the same as a parent node that simply happens to have no children
at the moment (which is usually how it should be).
More information about the antlr-interest
mailing list