解决方案将第一个数字作为如下所示的产生式 -步骤1 - 构造增强语法(0) S′ → S(1) S → A a(2) S → b A c(3) S → d c(4) S → b d a(5) A → d步骤2 - 查找闭包和 goto。查找语法的规范 LR(1) 项目集。在状态 I0 到 I10 中,没有状态具有相同的第一个元素或核心。因此,我们无法合并状态。一些状态将用于构建 LALR 解析表。LALR 解析表字符串“bdc”的解析堆栈输入字符串操作$ 0 bdc $移位 3$ 0 b 3dc $移位 7$ 0 b 3 d 7c ... 阅读更多
解决方案最初,LR 解析器处于状态 0。在字符串末尾添加 $,即 id * id + id $。堆栈输入字符串原因0 id ∗ id + id 操作 [0, id] = s5 ∴ 移位 id 和状态 50 id 5∗ id + id $操作 [5, ∗] = r6。∴ 通过 F → id 规约。goto(0, F) = 30 F 3∗ id + id $操作 [3, ∗] = r4,通过 T → F 规约 goto(0, T) = 20 T 2∗ id + id $操作 [2, ∗] = s7,移位 ∗,70T2*7id + id $操作 [7, id] = s5,移位 id,50T2*7 id 5+id $操作 ... 阅读更多