0
我已经为布尔和算术表达式做了一个语法。我想处理像算术表达式:LALR语法模糊
(1+5)+(-3)
我与所做的工作:我可以处理所有我想要的表情。
我的问题是一个布尔表达式可以是这样的:那么在某些时候我的布尔规则不得不提到我的算术表达式规则
(((2+2==4) or (3>2)) and 2==2)
。我不能在我的布尔规则中使用括号(),因为它会导致我的语法不明确。我明白为什么,但我无法弄清楚这个问题的解决方案。
到目前为止您尝试过什么?显示您的代码并提供yacc标识的冲突的详细信息。 – 2013-03-25 14:33:06
在布尔表达式和算术表达式中都没有任何含括号的含糊不清的含义(简单的做法会使语法不是LL,但对于LR来说很好)。你有什么尝试? – 2014-06-17 04:45:16
[简单模糊语法与减少 - 减少冲突]的可能重复(http://stackoverflow.com/questions/12887072/simple-ambiguous-grammer-with-reduce-reduce-conflict) – 2014-06-17 06:01:48