2013-06-11 2 views
0

다음과 같은 문법이 있으므로 "대서양에서 노드로 표시되는 것을 피하고 싶습니다. 접미사입니다.하지만 ANTLWorks는 여전히 트리에 표시됩니다. 무엇을 잘못 했습니까?ANTLR. AST에서 큰 따옴표를 제외하는 방법은 무엇입니까?

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();}; 

답변

1

"파스 트리"에서 "AST"로보기를 전환하지 않았습니다. "AST"에서보기 트리는 큰 따옴표없이 작성되었습니다.

관련 문제