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