简介

ANTLR v4是一款强大的语法分析器生成器,可以用来读取、处理、执行和转换结构化文本或二进制文件。通过称为文法的形式化语言描述,ANTLR可以为该语言自动生成词法分析器。生成的语法分析器可以自动构建语法分析树,它是表示文法如何匹配输入的数据结构。ANTLR还可以自动生成树遍历器,用来访问树节点以执行特定的代码。

ANTLR v4的语法分析器使用一种新的称为Adaptive LL(*)ALL(*)的语法分析技术,它可以在生成的语法分析器执行前在运行时动态地而不是静态地执行语法分析。

ANTLR v4极大地简化了匹配算术表达式语法结构的文法规则。对于传统的自顶向下的语法分析器生成器来说,识别表达式的最自然的文法是无效的,ANTLR v4则不然,它会自动地将左递归规则重写为非左递归等价物,唯一的约束是左递归必须是直接的,即规则立刻引用它自身。