编译原理第七章习题参考答案.pdfVIP

  • 149
  • 0
  • 约2.9千字
  • 约 6页
  • 2020-06-07 发布于安徽
  • 举报
第 1 题 已知文法 A→aAd|aAb| ε 判断该文法是否是 SLR(1)文法,若是构造相应分析表,并对输入串 ab#给出分 析过程。 答案: 文法: A→aAd|aAb| ε 拓广文法为 G′,增加产生式 S′→ A 若产生式排序为: 0 S →A 1 A →aAd 2 A →aAb 3 A → ε 由产生式知: First (S ) = { ε,a} First (A ) = { ε,a} Follow(S ) = {#} Follow(A ) = {d,b,#} G′的 LR(0) 项目集族及识别活前缀的 DFA 如下图所示 在 I 0 中: A → .aAd 和 A → .aAb 为移进项目, A → . 为归约项目, 存在移进 - 归约冲突, 因此所给文法 不是 LR(0) 文法。 在 I 0 、 I 2 中: Follow(A) ∩{a}= {d ,b ,#} ∩{a}= 所以在 I 0 、 I 2 中的移进 - 归约冲突可以由 Follow 集解决,所以 G 是 SLR(1) 文法。 构造的 SLR(1) 分析表如下:

文档评论(0)

1亿VIP精品文档

相关文档