解决方案
Step1 - 构建增强语法并对产生式进行编号
(0) E′ → E
(1) E → E + T
(2) E → T
(3) T → T * F
(4) T → F
(5) F → (E)
(6) F→id
Step2 - 将闭包应用于项目集 & 找到转到
Square Boxes 代表新的状态或项目,Circle 代表重复的项目。
因此,通过在 I 0 上应用 goto 已经完成了 I 0的所有规则。现在,以相同的方式将 goto 应用于 I 1, I 2,然后继续。
绘图 DFA
每组item都可以看作是DFA的一个状态,即I 0 , I 1 ... ... I 11将是DFA的11状态。它们使用 goto 函数连接。
例如,As goto (I 0 , E) = I 1。
∴ 从状态 I 0到 I 1会有一条边..