我正在使用 ANTLR 和 ANTLRWorks 2 创建我的第一个语法。我已经基本完成了语法本身(它识别用所描述语言编写的代码并构建正确的解析树),但除此之外我还没有开始任何事情。
让我担心的是,解析器规则中每个第一次出现的标记都带有黄色曲线下划线,上面写着“解析器规则中的隐式标记定义”。
例如,在这条规则中,'var'
有那个曲线:
variableDeclaration: 'var' IDENTIFIER ('=' expression)?;
它看起来如何:
奇怪的是,ANTLR 本身似乎并不介意这些规则(在进行测试台测试时,我在解析器生成器输出中看不到任何这些警告,只是在我的机器上安装了不正确的 Java 版本),所以这只是 ANTLRWorks 抱怨。
是否需要担心或者我应该忽略这些警告?我应该在词法分析器规则中明确声明所有标记吗?官方圣经The Defintive ANTLR Reference中的大多数例子似乎都是按照我编写代码的方式完成的。