Javaでantlr 3を使用する
ここでトークンからテキストを印刷するのに問題があります:
@lexer::members {
public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
System.err.println("Encountered an illegal char " + getText() + " on line "+getLine()+":"+getCharPositionInLine ());
}
}
字句解析文法のより詳細なエラー レポートを作成しています。
問題は、エラーが発生した場合 (ユーザーが定義されていないようなトークンを入力した場合:
) のみが表示され、代わりにchar と行 x:y の間"Encountered an illegal char on line x:y"
に無効な文字が表示されるはずです。:
無効な文字、行、列を表示するにはどうすればよいですか?