我有以下语法规则:
CCExpression
: LiteralExpression
| CCParenthesizedExpression
| CCSimpleNameExpression
| CCCastExpression
| CCOperatorExpression
| CCConditionalExpression
;
CCOperatorExpression
: CCUnaryOperator CCExpression
| CCExpression CCBinaryOperator CCExpression
;
我得到以下错误:
以下规则集是相互左递归的[cExpression,cOperatorExpression]
我试着折叠
CCOperatorExpression
将规则放入
CCExpression
规则:
CCExpression
: CCExpression CCBinaryOperator CCExpression
| CCUnaryOperator CCExpression
| '(' CCExpression ')'
| LiteralExpression
| CCSimpleNameExpression
| CCCastExpression
| CCConditionalExpression
;
但这似乎没有帮助。我仍然得到:
以下规则集是相互左递归的[cExpression]
我怎样才能解决这个问题?