 |
练习 |
|
若有文法G4的产生式为:
(1) S→Ap|Bq
(2) A→aAp|d
(3) B→aBq|e
用(2)、(3)产生式的右部替换(1)中产生式的A、B使文法变为:
(1) S→aApp|aBqq
(2) S→dp|eq
(3) A→aAp|d
(4) B→aBq|e
对(1)提取左公共因子则得:
S→a(App|Bqq)
再引入新非终符S′结果得等价文法为:
(1) S→aS′
(2) S→dp|eq
(3) S′→App|Bqq
(4) A→aAp|d
(5) B→aBq|e
同样分别用(4)、(5)产生式的右部替换(3)中右部的A、B再提取左公共因子最后结果得:
(1) S→aS′
(2) S→dp|eq
(3) S′→aS″
(4) S′→dpp|eqq
(5) S″→Appp|Bqqq
(6) A→aAp|d
(7) B→aBq|e
可以看出若对(5)中产生式A、B继续用(6)、(7)产生式的右部替换,只能使文法的产生式愈来愈多无限增加下去,但不能得到提取左公共因子的预期结果。 |
|