活前綴的有效項目集

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

 

二、簡單理解編譯

這個概念出現於LR分析法,LR分析法能夠看做是一種模擬最左規約的符號分析法,咱們假設咱們在作最左規約的時候,有一個符號棧存放咱們讀入的符號編譯原理

 

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

 

三、例子
編譯原理書上有一個很好的例子方法

 

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

 

四、快速尋找活前綴的方法
首先找到規約到當前狀態時應該運用的最後一條規則(可能不惟一),把點打在活前綴的邊界部分。
對於上面的例子,即爲T->T*.F。
接着若是「.」後面的第一個符號是非終結符號,則將該符號的規則所有列出,
對於上面的例子,即爲F->.(E),F->.i
若是這些規則裏有符合 「.」後面的第一個符號是非終結符號 的規則,那麼也須要把這個符號的規則列出,以此類推,直到找不出爲止。d3

相關文章
相關標籤/搜索