减少 - 减少冲突

时间:2018-04-27 14:30:47

标签: bison yacc lex

如何消除以下yacc文件的reduce-reduce冲突:

<AnkoComponentActivity>

1 个答案:

答案 0 :(得分:0)

要了解发生冲突的原因,请考虑一个仅包含标识符的输入。那是MATH_EXPRESSION还是LOGICAL_EXPRESSION?解析器决定这是不可能的,因为它适合两种规则。

你应该做的是有一个包含逻辑运算符和算术运算符的表达式规则。区分类型通常无法在解析级别处理,您需要在类型检查器中执行此操作。