证明下列文法是LL(1)文法但不是SLR(1)文法
发布网友
发布时间:2023-06-23 08:13
我来回答
共2个回答
热心网友
时间:2024-11-17 02:44
(1)首先该文法无左递归存在,没有公共左因子。
其次:对于S→AaAb|BbBa FIRST(AaAb)={a} FIRST(BbBa)={b}
FIRST(AaAb)∩FIRST(BbBa)=Φ
所以该文法是LL(1)文法。
(2)证明该文法不是SLR的。
文法的LR(0)项目集规范族为:
I0={S’→.S S→.AaAb S→.BbBa A→. B→.}
I1={ S’→ S. }
I2={ S→A.aAb }
I3={ S→B.bBa }
I4={ S→Aa.Ab A→. }
I5={ S→Bb.Ba B→. }
I6={ S→AaA.b }
I7={ S→BbB.a }
I8={ S→AaAb. }
I9={ S→BbBa. }
考察I0:
FOLLOW(A)={a,b} FOLLOW(B)={a,b} FOLLOW(A)∩FOLLOW(B)= {a,b}
产生规约-规约冲突。
所以该文法不是SLR(1)文法。
热心网友
时间:2024-11-17 02:45
不能凡事只靠别人,要靠自己的脑子去做事!