Antlr:从antlr中抑制控制台日志

时间:2015-06-08 05:38:51

标签: java error-handling antlr

我想以某种方式捕获ANTLR错误并禁止它们出现在我的java日志中。

我是ANTLR的初学者并使用 ANTLR3.4

我经历了this,我找不到像这样的方法。

lexer.removeErrorListeners();
lexer.addErrorListener(someListener());
parser.removeErrorListeners();
parser.addErrorListener(someListener());

有没有办法可以抑制ANTLR控制台错误?

1 个答案:

答案 0 :(得分:1)

在ANTLR 3中,您需要override BaseRecognizer.emitErrorMessage来控制错误的打印方式。在ANTLR 4中添加了监听器机制(我强烈建议您使用它,因为它远远优于ANTLR 3)。