1

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"に無効な文字が表示されるはずです。:

無効な文字、行、列を表示するにはどうすればよいですか?

4

0 に答える 0