Error handling 在不平衡的情况下,ANTL pretty错误消息

Error handling 在不平衡的情况下,ANTL pretty错误消息,error-handling,antlr,backtracking,Error Handling,Antlr,Backtracking,我的问题是,如果文档末尾有一个未闭合的括号,我会收到错误消息:意外EOF。这是一个坏消息,我试图避免它 我的语法已启用全局回溯。 因此,在匹配整个规则之前不会调用操作 并且也不会抛出异常 因此,我不能在解析器状态中使用标志或异常处理程序来重新调用我自己的来终止解析器。在禁用回溯之前,您将无法拥有合理的错误处理能力。如果有一些无条件操作(比如{!如果(…)抛出新异常();!},我可以在ANTLR 3中,{{…}}是一个嵌入式操作,即使在回溯期间也会执行。

我的问题是,如果文档末尾有一个未闭合的括号,我会收到错误消息:意外EOF。这是一个坏消息,我试图避免它

我的语法已启用全局回溯。 因此,在匹配整个规则之前不会调用操作 并且也不会抛出异常


因此,我不能在解析器状态中使用标志或异常处理程序来重新调用我自己的来终止解析器。

在禁用回溯之前,您将无法拥有合理的错误处理能力。如果有一些无条件操作(比如{!如果(…)抛出新异常();!},我可以在ANTLR 3中,
{{…}}
是一个嵌入式操作,即使在回溯期间也会执行。