我不知道我是否誤解了正在發生的事情,或者維基百科的解釋是不正確的。 Wikipedia says: 項目的FOLLOW(k,B)設置k和非終結B就是'•'之後B後續將所有項目的K工會。 他們的示例語法看起來像這樣: S → E
E → T
E → (E)
T → n
T → + T
T → T + n
在那裏他們發現在LR(0)設定爲0爲: [S → • E]
[E → • T]
我讀過維基百科的解釋,至少有十次,但我仍然在LR(0)分析器怎麼過離開狀態0 Wikipedia's example, with its explanation, says困惑: 分析器開始了與包含僅初始狀態的堆棧('0'): [0] 解析器看到的輸入字符串中的第一個符號是'1'。 ...但是這沒有任何意義對我來說,因爲看到的輸入符號將被執行先行,而是一個LR(0)分析器,通過定義,不能執行的預計
我努力學習的編譯器建設,我只是通過對SLR分析器龍書章閱讀。所以,我決定寫一個簡單的語法,並嘗試手動編寫解析器。語法如下: S -> A
A -> (A)A
A -> e,
其中e是空字符串生成。 據another question在計算器上,在啓動狀態的項目應該像 S -> .A
A -> .(A)A
A -> .e,
,但會是什麼GOTO功能樣子。我知道GOTO('(') =