[英]How to modify grammar to remove left recursive error in ANTLR4?
我正在尝试解析一种语言。 遵循ANTLR4解析器规则是直接从语言规范中复制的:
physical_value
: raw_value DIV factor MUL factor PLUS offset
;
raw_value
: (physical_value MINUS offset) DIV factor
;
但是antlr报告一个错误:以下几套规则是相互左递归的,我不知道该如何修改语法,希望有人能帮助我。 谢谢。
您无法从发布的规则中消除左递归,因为它匹配的唯一字符串是无限序列。
physical_value
始终以raw_value
raw_value
始终以physical_value
开头 ...然后重复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.