我是编译主题的新手,刚刚开始了自下而上解析的练习。
我一直坚持以下问题。
为以下语法构建一个 LR(0) 解析表:
1) E –> E + T
2) E –> T
3) T –> (E)
4) T –> id
I0 :
E' –> .E
E –> .E + T
E –> .T
T –> .(E)
T –> .id
在 E 上,DFA 中的下一个状态是:
I1:
E' -> E.
E -> E. + T
从我目前了解到的情况来看,这不是 SR 冲突吗?因为解析器不知道是减少还是移位,因为它没有前瞻变量?所以这不应该是 LR(0) 语法吗?
但是我正在阅读的 PDF 已经构建了 LR(0) 表。那么PDF中有错误还是我在理解这个概念的地方出错了?