为什么第 8 行中只有状态 0 和 2?

Why are the only the states 0 and 2 present in line 8?

LR 解析:

LR 解析 Table:

在第 7 行,我们减少了 T->T*F

并且 T 上的状态 7 没有任何转换。

在第 8 行,为什么我们只有状态 02

在第 7 步,我们减少 T→T*F,这意味着:

  1. 我们从堆栈中弹出右侧,只留下与符号 $ 对应的状态 0。

  2. 我们为左侧符号 T 查询状态 0(堆栈的新顶部)的 goto 转换。也就是说我们应该转到状态 2.

  3. 我们将新状态 2 连同关联的符号 T.

  4. 一起压入堆栈

最后,堆栈为 0 2,符号为 $ T,如第 8 步所示。

这在从中复制这些图表的优秀书籍的文本和伪代码算法中得到了很好的描述。