私は次の文法を持っており、" が AST のノードとして表示されるのを避けたいと考えています。これを行うには ! サフィックスを使用しますが、ANTLWorks は依然としてツリー上にそれらを表示します。何が間違っているのでしょうか?
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();};