gpt4 book ai didi

antlr - ANTLR 4:避免将错误打印到控制台

转载 作者:行者123 更新时间:2023-12-03 21:53:35 47 4
gpt4 key购买 nike

使用ANTLR,我可以解析语法。 ANTLR错误在语法的自定义编辑器中指示。
但是,我想禁用将错误消息打印到Java控制台的功能。

我已经实现了自己的BaseErrorListener并按照ANTLR书中所述删除了默认值:

MyErrorListener errList=new MyErrorListener ();
lexer.removeErrorListeners();
lexer.addErrorListener(errList);
parser.removeErrorListeners();
parser.addErrorListener(errList);


仍然可以将打印输出输出到Java控制台(连接到Java输出和错误流)。

如何在ANTLR中禁止打印到控制台?

最佳答案

默认情况下,ConsoleListener被激活[1]。

您可以在代码中将其删除:

lexer.removeErrorListener(ConsoleErrorListener.INSTANCE);


[1] https://github.com/antlr/antlr4/blob/master/runtime/Java/src/org/antlr/v4/runtime/Recognizer.java#L56(请参阅 add(ConsoleErrorListener.INSTANCE);

关于antlr - ANTLR 4:避免将错误打印到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25990158/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com