活前綴的有效項目集


1、活前綴的有效項目集的定義

 

2、簡單理解

這個概念出現於LR分析法,LR分析法可以看作是一種模擬最左規約的符號分析法,我們假設我們在做最左規約的時候,有一個符號棧存放我們讀入的符號

 

活前綴的有效項目集,就是當棧內的符號是這個活前綴的時候,可能運用的下一步的最左規約的規則。

 

3、例子
編譯原理書上有一個很好的例子

 

此時符號棧中有E+T*
如果下一個讀入符號是F,則可以運用T->T*.F
如果下一簇讀入符號是(E),則可以運用F->.(E)
如果下一個讀入符號是i,則可以運用F->.i
沒有其他的合法的可運用的最左規約的規則,所以只有這三個是該活前綴的有效項目。

 

4、快速尋找活前綴的方法
首先找到規約到當前狀態時應該運用的最后一條規則(可能不唯一),把點打在活前綴的邊界部分。
對於上面的例子,即為T->T*.F。
接着如果“.”后面的第一個符號是非終結符號,則將該符號的規則全部列出,
對於上面的例子,即為F->.(E),F->.i
如果這些規則里有符合 “.”后面的第一個符號是非終結符號 的規則,那么也需要把這個符號的規則列出,以此類推,直到找不出為止。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM