antlr显示识别错误

antlr显示识别错误,antlr,antlr3,Antlr,Antlr3,在java中使用antlr 3 我在这里打印令牌中的文本时遇到问题: @lexer::members { public void displayRecognitionError(String[] tokenNames, RecognitionException e) { System.err.println("Encountered an illegal char " + getText() + " on line "+getLine()+":"+getCharPosi

在java中使用antlr 3

我在这里打印令牌中的文本时遇到问题:

@lexer::members {

    public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
        System.err.println("Encountered an illegal char " + getText() + " on line "+getLine()+":"+getCharPositionInLine ());
    }

}
我正在为lexer语法做一个更详细的错误报告

问题是,当错误发生时(用户输入未定义的标记,如
),它只显示
“在x:y行遇到非法字符”
,而应该显示字符和x:y行之间的无效字符


如何显示无效的字符、行和列?

我设法解决了它。。没有标记,因为:未定义,所以我总是得到nullpointer。。我用的是电动自行车,谢谢。