1 已知文法 A→aAd|aAb|ε 判断该文法是否是SLR(1)文法 若是构造相应分析表 并对输入串ab#给出分析

大学网课 已帮助 人

1、已知文法 A→aAd|aAb|ε 判断该文法是否是SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程。

1 已知文法 A→aAd|aAb|ε 判断该文法是否是SLR(1)文法 若是构造相应分析表 并对输入串ab#给出分析

热搜:某企业2018年生产A产品1万件

回答

共1条回复

  • 文法:A→aAd|aAb|ε拓广文法为 G′,增加产生式 S′→A若产生式排序为:0 S' →A1 A →aAd2 A →aAb3 A →ε由产生式知:First (S' ) = {ε,a}First (A ) = {ε,a}Follow(S' ) = {#}Follow(A ) = {d,b,#}G’的 LR(0)项目集族及识别活前缀的 DFA 如下图所示:在I0中:A→.aAd 和 A →.aAb 为移进项目,A →.为归约项目,存在移进-归约冲突,因此所给文法不是 LR(0)文法。在 I0、I2 中:Follow(A) ∩{a}= {d,b,#} ∩{a}=Φ所以在I0、I2中的移进-归约冲突可以由 Follow集解决,所以G是SLR(1)文法。构造的 SLR(1)分析表如下: