1.概述
上一篇文章:【Antlr】Antlr 勘误备选分支
出自:antlr 权威指南
并且补充
默认的错误处理机制表现出色,不过我们还是会遇到一些非典型的、需要修改默认机制的场景。首先,我们希望关闭某些默认的错误处理功能,它们会带来额外的运行负担。其次,我们可能希望语法分析器在遇到第一个语法错误时就退出。这种情况的例子是,当处理类似bash的命令行输入时,从错误中恢复是毫无意义的。我们不能一意孤行地执行有风险的命令,因此语法分析器可以一遇到问题就退出。
欲探究错误处理策略,不妨查看一下ANTLRErrorStrateqy接口及实现类DefaultErrorStrategy。该类完成了全部的默认错误处理工作。例如,下面的语句是每个ANTLR自动生成的规则函数中的catch中的内容: