假设我有一个语法,它有一个解析器规则来匹配几个特定字符串中的一个。是否应该在语法中为每个特定字符串制定一个备用解析器规则,还是使解析器规则保持一般,并在访问者子类中解码字符串?
发布于 2013-10-31 17:03:22
如果特定的字符串是有意义的(例如DSL中的关键字),它听起来就像您想要令牌。语法中的任何规则都可以引用您创建的标记。
通常,最好让语法尽可能多地完成解析器的工作,而不是过度概括和编写一堆额外的代码。
请参见以下内容:http://www.antlr.org/wiki/display/ANTLR4/Grammar+Structure
https://stackoverflow.com/questions/19712485
复制相似问题