查找规范解析表 (CLR) 或 LR (1) 语法解析表。S → CC C → c C | d

解决方案

Step1 - 构建增强语法

(0) S′ → S

(1) S → CC

(2) C → cC

(3) C→d。

Step2 - 找到闭包并转到构造 LR (1) 项目

在 I 7 , I 8 , I 9上应用 goto

在 I 7 , I 8 , I 9我们有产生式 C → d ∙, $, c → cC ∙, c | d 和 ∙ C → cC ∙, $分别是,点不能进一步移动。

因此, goto 不能应用于 I 7、 I 8、 I 9

绘图 DFA

首先,10 个状态,即 I 0到 I 9将作为 DFA 的节点。

边使用 goto 语句连接。例如,goto(I 0 , S) = I 1

∴ 将有一条从 I 0到 I 1的边标记为 S。

类似地,通过查看 LR (1) 语法项中的所有 goto 语句来连接其他节点。

猜你喜欢