ANTLR。如何从AST中排除双引号?
我有以下语法,我想避免“在AST中显示为节点。为此,我是!后缀,但ANTLWorks仍然在树上显示它们。我做错了什么ANTLR。如何从AST中排除双引号?,antlr,antlr3,antlrworks,Antlr,Antlr3,Antlrworks,我有以下语法,我想避免“在AST中显示为节点。为此,我是!后缀,但ANTLWorks仍然在树上显示它们。我做错了什么 grammar BooleanExpr; options { output=AST; ASTLabelType=CommonTree; } booleanExpr : andExpr ('OR'^ andExpr)*; andExpr : kppExpr; kppExpr : keywordExpr | phraseExpr; keywordEx
grammar BooleanExpr;
options {
output=AST;
ASTLabelType=CommonTree;
}
booleanExpr
: andExpr ('OR'^ andExpr)*;
andExpr : kppExpr;
kppExpr : keywordExpr | phraseExpr;
keywordExpr
:CHAR+;
// exclude double quotes from AST
phraseExpr
: '"'! keywordExpr '"'!;
CHAR : ('A'..'Z') | ('a'..'z');
INT : '0'..'9'+;
NEWLINE : '\r'? '\n';
WS : (' '|'\t'|'\n'|'\r')+ {skip();};
我的问题是,没有将视图从“Parse Tree”切换到“AST”。在“AST”视图中,树没有双引号