我有规则:
expression
: //...
| expression (relative_operator expression)+
| //...
;
理想情况下,当我输入1=1=1
时,它会生成expression(1, =, 1, =, 1)
树。但是,实际上它会产生expression(1, =, expression(1, =, 1))
。这是因为它更倾向于递归解析而不是一行解析。是否有可能明确告诉规则它既不能自行递归,也不应该在尝试递归之前服从+
/ *
?