自顶向下语法分析方法:提取左公共因子

若文法中含有形如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->ε
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章