Java ANTLR2错误报告

Java ANTLR2错误报告,java,antlr,antlr2,Java,Antlr,Antlr2,当解析器/词法分析器遇到错误时,它会将其打印到控制台并进行恢复,以便进行解析。对于最终用户来说,这是一个API调用,我想告诉他解析错误,以便他能够纠正。目前,我只能检测到发生了错误 我的问题:如何向最终用户传播错误消息?我无法获取错误消息,因为这是在ANTLR生成的解析器/词法分析器文件中处理的 为Java生成的语法 编辑1:语法是以前写的。因此,只需要ANTLR2中的解决方案 编辑2:我发现如果我们设置defaultErrorHandler=false,则默认错误处理程序不会在lexer/解析

当解析器/词法分析器遇到错误时,它会将其打印到
控制台
并进行恢复,以便进行解析。对于最终用户来说,这是一个API调用,我想告诉他解析错误,以便他能够纠正。目前,我只能检测到发生了错误

我的问题:如何向最终用户传播错误消息?我无法获取错误消息,因为这是在ANTLR生成的解析器/词法分析器文件中处理的

为Java生成的语法

编辑1:语法是以前写的。因此,只需要ANTLR2中的解决方案


编辑2:我发现如果我们设置
defaultErrorHandler=false,则默认错误处理程序不会在lexer/解析器中生成,我们可以在处理代码中直接捕获这些异常。

ANTLR 2?您确定要使用这样一个旧版本吗?它早就写过了。需要大量的努力来移植它。所以,是的,我们必须在ANTLR2中找到解决方案