【Antlr】Antlr 错误处理入门

【Antlr】Antlr 错误处理入门_第1张图片

1.概述

出自:antlr 权威指南 并且补充

同绝大多数软件一样,在我们开发一门语法的过程中,需要修复很多的错误。直到我们编写完 (并调试完)语法之后,生成的语法分析器才能识别所有的有效输入语句。在这个过程中,ANTLR的错误消息含有丰富的信息,有助于我们调试语法中产生的问题。.

一旦拥有了正确的语法,我们就必须处理不合语法的语句,这些语句可能来源手用户输入,甚至是其他程序在错误情况下自动生成的。在上述情况下,我们的语法分析器对非法输入的响应就会大大影响生产力。换句话说,无论在我们的开发过程中,还是在用户的实际使用过程中,一个只会输出”呃,出错了〞并且一遇到语法错误就退出的语法分析器毫无用处。

使用ANTLR的开发者将会无偿获得它提供的优秀的错误报告功能和复杂的错误恢复机制。ANTLR生成的语法分析器能够自动地在遇到句法错误时产生丰富的错误消息,并且能在大多数情况下成功地完成重新同步。这样的语法分析器甚至能够保证只为每个句法错误产生一条错误消息。在本章中,我们将会学习ANTLR自动生成的语法分析器使用的自动错误报告和恢复策略。我们还将了解如何修改默认的错误处理机制,使之符合一些典型情况下的需求,以及如何在特定的程序中定制错误消息。

2.入门

描述ANTLR的错误恢复策略,最好的方法是观察一个ANTLR自动生成的语法分析器对错误输入产生的响应。下面让我们看一个简单的类Java语言的语法,它的类定义中包含字段和方法,其中的方法具有简单的语句和表达式。该语法将成为本节和本章中其

你可能感兴趣的:(语法分析-Antlr,数学建模,java,python)