各位 ANTLR 专家,您能解释一下为什么这个警告会出现在 ANTLWorks 中吗?在这种特殊情况下如何理解此消息以及如何摆脱它?
有效输入示例:abc "xyz def" abc 应被识别为 keywordExpr 标记,而 "xyz def" 应被识别为 phraseExpr。
[14:32:24] 警告(200):TestExpr.g:12:4:决策可以使用多种选择匹配输入,例如“CHAR”:1、2
结果,该输入 [14:32:24] 警告(200)的替代项 2 被禁用:/Users/imochurad/ Development /antlr3/Grammars/TestExpr.g:12:4:Decision can match input such作为 "CHAR" 使用多种选择:1、2
结果,该输入禁用了备选方案 2
grammar TestExpr;
options {
output=AST;
ASTLabelType=CommonTree;
}
expr
: kpExpr*;
kpExpr : keywordExpr|phraseExpr;
keywordExpr
: CHAR+;
phraseExpr
: '"' CHAR+ (' ' CHAR+)* '"';
CHAR : ('A'..'Z') | ('a'..'z');
INT : '0'..'9'+;
NEWLINE : '\r'? '\n';
WS : (' '|'\t'|'\n'|'\r')+ {skip();};
非常感谢!