ANTLR:在构建AST树时排除(跳过)标记

ANTLR:在构建AST树时排除(跳过)标记,antlr,antlr3,Antlr,Antlr3,给出以下语法(在ANTLR v3中): 如何从ANTLR构建的AST树中排除(跳过)逗号_关键字(且不使用写入规则)?使用重写规则的替代方法是使用树构造运算符: 您可以使用运算符从AST中省略标记或子树: test : value0 COMMA_KEYWORD! value1 (COMMA_KEYWORD! value2)*; test : value0 COMMA_KEYWORD! value1 (COMMA_KEYWORD! value2)*;

给出以下语法(在ANTLR v3中):

如何从ANTLR构建的AST树中排除(跳过)逗号_关键字(且不使用写入规则)?

使用重写规则的替代方法是使用树构造运算符:

您可以使用
运算符从AST中省略标记或子树:

test : value0 COMMA_KEYWORD! value1 (COMMA_KEYWORD! value2)*;
test : value0 COMMA_KEYWORD! value1 (COMMA_KEYWORD! value2)*;