1.概述
1.概述
上一篇文章: 【Antlr】Antlr属性和动作-访问词法符号和规则的属性
出自:antlr 权威指南
并且补充
为探究内嵌在词法规则中的动作的相关知识,让我们为一门虛拟的、关键宇会动态变化 (每次运行都不同)的编程语言编写一份语法,这件事情听上去不可思议,但确实是可能的。例如,Java 5新增了一个关键字enum,因此同一个编译器必须能够根据“-version”态地开启和关闭它。
也许,更常见的应用是处理拥有巨量关键宇集合的语言。我们可以令词法分析器分别匹配所有的关键字(作为独立的规则),也可以编写一条ID规则作为分发器,然后在一个关键字列表中查找该规则匹配到的标识符。如果词法分析器发现该标识符是一个关键字,我们可以它的词法符号类型从原先通用的1D类型改成相应的关键字类型。
在着手实现ID规则和关键字查找机制之前,让我们先来编写包含关键字引用的语句规则。