我正在尝试解析一种语言。以下ANTLR4解析器规则直接从语言规范中复制:
physical_value
: raw_value DIV factor MUL factor PLUS offset
;
raw_value
: (physical_value MINUS offset) DIV factor
;
但是antlr报告错误:以下几组规则是相互左递归的 我不知道如何修改语法,希望有人可以帮助我。 感谢。
答案 0 :(得分:1)
你不能从你发布的规则中消除左递归,因为它匹配的唯一字符串是无限序列。
physical_value
始终以raw_value
raw_value
始终以physical_value
...并重复