查找给定语法的规范分析表 (CLR) 或 LR(1) 分析表。\nS → CC\nC → c C | d
解决方案
步骤1 − 构造扩充文法
(0) S′ → S
(1) S → CC
(2) C → cC
(3) C → d.
步骤2 − 查找闭包和 goto 以构造 LR(1) 项目
在 I7、I8、I9 上应用 goto
在 I7、I8、I9 中,我们有产生式 C → d ∙,$,c → cC ∙,c | d 和 ∙ C → cC ∙,$,即点无法进一步移动。
因此,无法在 I7、I8、I9 上应用 goto。
绘制 DFA
首先,10 个状态,即 I0 到 I9 将充当 DFA 的节点。
使用 goto 语句连接边。例如,goto(I0, S) = I1
∴ 将有一条从 I0 到 I1 的边,标记为 S。
类似地,通过查看语法 LR(1) 项目中的所有 goto 语句来连接其他节点。
广告