ANTLR 接受 3类语法规范——语法分析器(parsers) ,词法分析器(lexers) ,和树分析器(tree-parsers)(也叫树遍历器 tree-walkers)。 由于 ANTLR 使用 LL(k) 分析所有的 3 种语法变型,并且语法说明相似,因而产生的 lexers 和语法分析程序也很类似。另外产生的识别程序可读性很好,你可以查看输出的内容来明白很多关于 ANTLR 的机理。
ANTLR 接受C语言风格的块注释和 C++风格的行注释。在语法类和规则中,Java 风格的文档注释也是可以接受的,在需要的时候,这些注释可以被传递给生成的输出文件。
ANTLR, 语言识别的另一个工具(ANother Tool for Language Recognition ),(前身是PCCTS)是一种语言工具,它提供了一个框架,可以通过包含 Java,C++,或C#动作(action)的语法描述来构造语言识别器,编译器和解析器。
计算机语言的解析已经变成了一种非常普遍的工作。 传统的计算机语言的编译器和工具(如 C 或Java)仍旧需要被构造,它们的数量与需要开发的那些成千上万的小语言的识别工具和解析工具相比是相形见拙。程序员为了解析数据格式,图形文件(如,
PostScript,AutoCAD),文本文件(如,HTML,SGML等)而需要构造解析器。ANTLR 被设计出来处理所有这些转换工作。
1