方法
我的理解:
- 首先分別計算出FIRST()和FOLLOW()集合
- 在對每一個非終結符的FIRST()依次分析,假設有E–>TL,其中FIRST(E)={+,-},那麼在分析表中[E,+]和[E,-]對於的框框就應該填寫E–>TL。
- 注意:如果FIRST(E)中含有空集。emm,還是同樣假設有E–>TL,其中FIRST(E)={+,-,空},其FOLLOW(E)={mod,*},那麼[E,+]和[E,-]對於的框還是E–>TL,而這裏還需要加上[E,mod]和[E, 乘法 ] 對應的框爲空
舉例說明
文法爲:
FIRST()和FOLLOW()集合爲:
按照上述的方法構造的預測分析表爲: