编辑2: 完整编辑。
所以,我想在我的代码中实现一个ErrorListener。但我有一些问题,我不知道如何解决它们。搜索Java等价物是我的第一个想法,但似乎没有多少人使用ErrorListener做任何事情,这使我更难。
所以,这是我的ErrorListener:
public class CodeError : BaseErrorListener
{
public override void SyntaxError(IRecognizer recognizer, IToken offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)
{
Console.WriteLine("Error in parser at line " + ":" + e.OffendingToken.Column + e.OffendingToken.Line + e.Message);
base.SyntaxError(recognizer, offendingSymbol, line, charPositionInLine, msg, e);
}
这就是我在主代码中实现它的方式:
Debugger.CodeError ld = new Debugger.CodeError();
parser.AddErrorListener(ld);
我试过了,我总是遇到这个错误: