Bottom - Up SLR(1) Conflict / Reduce 两者都适用时
Bottom - Up SLR(1) Conflict / Reduce when both applies
如果我遇到 DFA 中的状态有 shift/reduce 冲突的情况,
在 shift 和 reduce 都适用的情况下,让下一个符号为 "t" 并且我们有以下规则
X -> F.
Y -> F.tG
并且 t 属于 X 的后续
在这种情况下我该怎么办?
根据定义,我知道这不是 SLR(1) 语法,但根据显示的算法 https://imgur.com/a/yxy9L48,该算法应该做什么?它应该报告错误吗?
算法说如果(移位或减少)都不适用,我们会报告错误,但如果两者都适用会发生什么?
您应该在尝试构建解析器时检测到此错误。如果存在冲突,SLR 解析器生成算法必须失败。
如果我遇到 DFA 中的状态有 shift/reduce 冲突的情况, 在 shift 和 reduce 都适用的情况下,让下一个符号为 "t" 并且我们有以下规则
X -> F.
Y -> F.tG
并且 t 属于 X 的后续 在这种情况下我该怎么办? 根据定义,我知道这不是 SLR(1) 语法,但根据显示的算法 https://imgur.com/a/yxy9L48,该算法应该做什么?它应该报告错误吗?
算法说如果(移位或减少)都不适用,我们会报告错误,但如果两者都适用会发生什么?
您应该在尝试构建解析器时检测到此错误。如果存在冲突,SLR 解析器生成算法必须失败。