第一范文网 - 专业文章范例文档资料分享平台

编译原理复习题_给学生(2014)

来源:用户分享 时间:2025/5/24 22:51:19 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.. .. ..

FOLLOW(S′)={#} FOLLOW(A)={b,#} FOLLOW(A′)=(b,#)

LL(1)分析表:

S S′ A A′ a A→aA′ A′→A b S→bAS′ S′→b S′ A′→ε # S′→ε A′→ε 22.已知文法G[S]如下:构造该文法的LR(0)分析表。

G[S]:S→BB B→aB|b 解:拓广文法: (0)S?→S (1)S→BB (2)B→aB (3)B→b

识别活前缀的DFA 如下:

参考材料

.. .. ..

I0: S??.S S?.BB B?.ab B?.b b a I3: a B?a.B B?.ab B?.b B I6: B?aB. S I1: S??S. B b I2: S?B.B B?.ab B?.b b B I5: S?BB. a b I4: B?b. LR(0)分析表如下:

状态 a 0 1 2 3 4 5 6

语义分析与中间代码生成: 23.给定文法:S→(L) | a

参考材料

Action b S4 S4 S4 R3 R1 R2 # acc R3 R1 R2 S 1 Goto B 2 5 6 S3 S3 S3 R3 R1 R2 .. .. ..

L→L,S | S

请书写语义规则,求输出句子中每一个a的括号嵌套深度。 解:

用继承属性depth表示嵌套深度,则

S’ → S S → (L) S → a

S.depth = 0

L.depth = S.depth + 1 print(S.depth)

L(1).depth = L.depth; S.depth = L.depth S.depth = L.depth

L → L(1), S L → S

24. 表达式a*b-c-d$e$f-g-h*i中,运算符的优先级由高到低依次为-、*、$,且均为右结合,请写出相应的后缀式。

解: abcd- -*efgh- - i*$$

25.分别给出表达式 –(a*(b-c))+d 的逆波兰表示和四元式表示。 解:(1)逆波兰式: abc-*@d+ 其中使用@代表一目减运算 (2)四元式: ① (-, b, c, T1) ② (*, a, T1, T2) ③ (@, T2, _, T3) ④ (+, T3, d, T4)

26. 下面的文法产生0和1的串,即二进制的正整数,请给出决定每个二进制数的值(十进制形式)的

参考材料

.. .. ..

语法制导定义。

【解】定义值属性为.val,翻译方案如下:

B ? B1 0 { B.val = B1.val ? 2 } B ? B1 1 { B.val = B1.val ? 2 + 1 } B ? 1 { B.val = 1 } B ? 0 { B.val = 0 }

27.把算术表达式?(a + b) ? (c + d) + (e+ f) 翻译成等价的四元式序列(序号从0开始)。 【解】

0(+,a, b ,T1) 1(uminus,T1,-,T2) 2(+,c, d , T3) 3(*,T2,T3,T4) 4(+,e,f,T5) 5(+,T4,T5,T6)

28.给出表达式-a*b+b*c+d/e的抽象语法树和三元式序列。

答:语法树 三元式

参考材料

搜索更多关于: 编译原理复习题_给学生(2014) 的文档
编译原理复习题_给学生(2014).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ecwh1i3ye5a66i6tmib55397303xo0106d_10.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top