[antlr-interest] AST cardinality from called rules

Graham Mer gd.antlr at gmail.com
Tue Apr 5 14:39:35 PDT 2011


Hello list,

The following rule generates the AST that I want:

localVariableDeclaration
    : LOCAL variableDcl ( ',' variableDcl )* -> ^(LOCAL variableDcl)+
    ;

But how do I generate an equivalent AST if the variableDcl list is not
in the localVariableDeclaration rule, as in the following fragment?

localVariableDeclaration
    : LOCAL variableDeclarationList
    ;

variableDeclarationList
    : variableDcl ( ',' variableDcl )*
    ;

I want to produce a set of ^(LOCAL variableDcl) subtrees, but I want
to reuse the variableDeclarationList from other rules, so I'd rather
not inline it.

Thanks!


More information about the antlr-interest mailing list