ANTLR4分析器规则粒度

时间:2013-10-31 16:58:30

标签: antlr4

假设我的语法具有解析器规则以匹配多个特定字符串之一。 在语法中做正确的事情是为每个特定字符串制作备用解析器规则,还是保持解析器规则的一般性并解析访问者子类中的字符串?

1 个答案:

答案 0 :(得分:2)

如果特定字符串有意义(例如DSL中的关键字),则听起来像是你想要的标记。无论您在语法中有什么规则,都可以引用您创建的令牌。

通常,最好让你的语法尽可能多地完成解析器的工作,而不是过度概括并且必须编写一堆额外的代码。

请参阅以下内容:http://www.antlr.org/wiki/display/ANTLR4/Grammar+Structure