自頂向下語法分析方法:提取左公共因子

若文法中含有形如A->αβ|αγ的產生式,就會使FIRST集相交,就滿足不了LL(1)文法的充分必要條件。

可以做下面的等價變換:

 A->αβ|αγ
 A->α(β|γ) 
 A->αA'   引入新的終結符A'
 A'->β|γ

一般形式:

A->αβ1|αβ2|...|αβn
A->α(β1|β2|...|βn)
A->A'
A'->β1|β2|...|βn

例子:

文法的產生式爲:
S->aSb
S->aS
S->ε
對產生式提取左公共因子:
S->aS(b|ε)
S->ε
引入終結符A
S->aSA
A->b
A->ε
S->ε
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章