ANTLR v4是一款强大的语法分析器生成器,可以用来读取、处理、执行和转换结构化文本或二进制文件。通过称为文法的形式化语言描述,ANTLR可以为该语言自动生成词法分析器。生成的语法分析器可以自动构建语法分析树,它是表示文法如何匹配输入的数据结构。ANTLR还可以自动生成树遍历器,用来访问树节点以执行特定的代码。
ANTLR v4的语法分析器使用一种新的称为Adaptive LL(*)
或ALL(*)
的语法分析技术,它可以在生成的语法分析器执行前在运行时动态地而不是静态地执行语法分析。
ANTLR v4极大地简化了匹配算术表达式语法结构的文法规则。对于传统的自顶向下的语法分析器生成器来说,识别表达式的最自然的文法是无效的,ANTLR v4则不然,它会自动地将左递归规则重写为非左递归等价物,唯一的约束是左递归必须是直接的,即规则立刻引用它自身。
读书笔记
版权声明
本系列原封转载至《乐者为王》,有兴趣的可以阅读作者的其他系列文章。
本书是根据最新的ANTLR 4语法编写的简明教程,源于我在阅读《The Definitive ANTLR 4 Reference》时做的读书笔记,增加了部分全新的内容。
本书以开源的形式编写,源码托管在GitHub上,欢迎参与维护。
在线阅读:《ANTLR 4简明教程》。