云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理复习题_给学生(2014)

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

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 5:59:09

.. .. ..

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) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

.. .. .. 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 如下: 参考材料

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com