在antlr中,顶级的alternates通常无法自动因式化。因此,需要手动将它们因式化以减少代码的重复。以下是一个示例:
假设我们有下面这个规则:
expr : a | b | c;
这个规则可以被因式化为:
expr : (a | b | c);
这样就避免了在a、b、c等规则中重复的代码。
上一篇:ANTLR省略了一些规则。
下一篇:ANTLR是否能处理具有相同名称的两个语法?