解決方案將第一個數字作為如下所示的產生式 -步驟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 $操作 ... 閱讀更多