我最近创建了一个ANTLR3解析器规则
options : foo bar;它没有编译,我花了一段时间才发现options是一个保留字(AntlrWorks指出了错误,但没有说明原因)。在ANTLR中有保留字的列表吗?在命名规则中有没有最佳实践(这可能有助于避免这种情况)?
发布于 2009-12-17 09:15:38
使用目标语言的保留字也会导致问题。
我花了一天的时间试图弄清楚为什么我的语法不能工作,然后才意识到我的语法被我命名为"enum“的"enum”规则搞得一团糟。
这可能是问题,也可能不是问题,这取决于目标语言是什么。我使用的是默认的Java目标,确实是这样,所以如果是这样的话,您也应该检查一下目标语言的保留关键字列表。
https://stackoverflow.com/questions/1818664
复制相似问题