描述 - 考慮文法 E → E + T | T T → TF | F F → F * | a | b。解決方案步驟1 - 構造增廣文法並編號產生式。(0) E′ → E(1) E → E + T(2) E → T(3) T → TF(4) T → F(5) F → F ∗(6) F → a(7) F → b。步驟2 - 查詢閉包和 goto 函式以構造 LR(0) 專案。方框代表新狀態,圓圈代表重複狀態。FOLLOW 的計算我們可以找出 FOLLOW(E) = {+, $} FOLLOW(T) = {+, a, b, $} FOLLOW(F) = {+, *, a, b, $} 輸入字串 a * b + a 的解析 - 堆疊 ... 閱讀更多
解析器是編譯的第二階段。解析器將其輸入作為從上一階段(即詞法分析階段)生成的標記,並將它們組合起來,以便可以識別它們的語法。例如,考慮 I0 I0 - E′ → ∙ E E → ∙ E + T E → ∙ T T → ∙ T ∗ F T → ∙ F F → ∙ (E) F → ∙ id 填充移位條目在 SLR 解析表構建演算法的規則 (2a) 上應用於一組 ... 閱讀更多