我想以某种方式捕获ANTLR错误并禁止它们出现在我的java日志中。
我是ANTLR的初学者并使用 ANTLR3.4
我经历了this,我找不到像这样的方法。
lexer.removeErrorListeners();
lexer.addErrorListener(someListener());
parser.removeErrorListeners();
parser.addErrorListener(someListener());
有没有办法可以抑制ANTLR控制台错误?
答案 0 :(得分:1)
在ANTLR 3中,您需要override BaseRecognizer.emitErrorMessage
来控制错误的打印方式。在ANTLR 4中添加了监听器机制(我强烈建议您使用它,因为它远远优于ANTLR 3)。