上篇狀態機圖繪製有誤,特發勘誤記錄教訓:分析務必一步步來,不可跳步。
文法:ID = NAME; IDList = ID | IDList "," ID
shift(S)/pop(S) reduce ε-邊。起始棧含 Null 標記底部。IDList → IDList "," ID 產生 shift 環,從 ID1 連 IDList2 並補 假shift IDList0。NAME ("," NAME)*。狀態轉換與棧操作完美匹配,最終到達 FINISH 棧空輸入盡,解析成功。

下一篇將講確定化算法與 Lookahead 處理。