1.概述
出自:Antlr权威指南 并且进行补充。
如果你曾经使用过 ANTLR的早期版本或者其他能够自动生成语法分析器的工具,你会惊讶于这一事实:我们构建语言类应用程序时可以不在语法中内嵌动作(代码)。监听器和访问器机制能够将语法和程序逻辑代码解轉,从而大有神益。这样的解耜将程序封装起来,避免了杂乱无章地分散在语法中。如果语法中没有内嵌动作,我们就可以在多个程序中复用同一个语法,而无须为每个目标语法分析器重新编译一次。
受益于内嵌动作的机制,ANTLR能基于同一个语法文件,使用不同的编程语言生成语法分析器(在ANTLR 4.0发布后,我参与了对不同目标语言提供支持的相关工作)。同时,在集成过程中,由于无须担心合并后内嵌动作的冲突,对语法的更新和bug修复也十分容易。
本节主要研究从包含内嵌动作的语法到完全与动作解男的语法的演进过程。下列语法用于读取属性文件,这些文件的每行都是一个赋值语句,其中<<…>>是内嵌动作的概要
。类似<<start file>>
的标记代表一段恰当的java代码。