構造LR(0)分析表的理論知識

1、找項目集規范族有S'->A·這種形狀的那個狀態Ik,就是第k個狀態,則把分析表第k行的#列標上acc。

2、按狀態序號順序分析狀態的項目和GOTO函數,主要就是看每個項目的點后面的符號。

(1)要是是個終結符,看輸入這個終結符后去的哪個狀態,比如當前是狀態I0,對于第二個項目E->·aA,輸入a以后去了狀態I2,那就在分析表中第0行的a列寫上S2,意思就是狀態Ik輸入Vt后去了Ij狀態。

(2)要是是個非終結符,這個更好理解,比如從狀態Ik輸入這個非終結符以后去了狀態Ij,那就在GOTO表的第k行第Vn列寫j。

3、你會發現有的項目的點是在最后,這就是分析表里面那些小r的來歷了。先看這個項目所在的狀態,再看點前面的規則是文法里面的第幾個規則,比如說狀態I10的A->d·里面的A->d就是文法的第4條規則,那就在分析表的第10行所有的終結符列包括#列寫上r4,就是ACTION列的一行寫滿。即狀態Ik的項目來自于文法的第j條規則,則分析表的第k行都是rj。

文章出處,我也是看了他的文章才恍然大悟,謝謝他!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。