仲間の ANTLR 専門家の皆さん、この警告が ANTLWorks に表示される理由を説明していただけますか? このメッセージを理解する方法と、この特定のケースでそれを取り除く方法は?
有効な入力の例: abc "xyz def" abc は keywordExpr トークンとして認識され、"xyz def" は phraseExpr として認識されます。
[14:32:24] 警告 (200): TestExpr.g:12:4: 決定は、複数の選択肢を使用して「CHAR」などの入力と一致する可能性があります: 1、2
その結果、代替手段 2 はその入力に対して無効になりました [14:32:24] 警告 (200): /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();};
どうもありがとう!