SLR 解析与 epsilon 生成冲突
SLR parsing conflicts with epsilon production
考虑以下语法
S -> aPbSQ | a
Q -> tS | ε
P -> r
在构造 DFA 时我们可以看到应该有一个包含 Items 的状态
Q -> .tS
Q -> . (epsilon as a blank string)
因为 t 在 follow(Q) 中,所以似乎有一个转变 - 减少冲突。
我们可以断定语法的性质不是 SLR(1) 吗?
(请忽略我之前错误的回答。)
是的,您在此配置集中存在 shift/reduce 冲突这一事实足以表明此语法不是 SLR(1)。
考虑以下语法
S -> aPbSQ | a
Q -> tS | ε
P -> r
在构造 DFA 时我们可以看到应该有一个包含 Items 的状态
Q -> .tS
Q -> . (epsilon as a blank string)
因为 t 在 follow(Q) 中,所以似乎有一个转变 - 减少冲突。
我们可以断定语法的性质不是 SLR(1) 吗?
(请忽略我之前错误的回答。)
是的,您在此配置集中存在 shift/reduce 冲突这一事实足以表明此语法不是 SLR(1)。