没有合适的资源?快使用搜索试试~ 我知道了~
编译原理第七章习题[定义].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 124 浏览量
2021-10-12
06:01:04
上传
评论
收藏 123KB PDF 举报
温馨提示
试读
14页
编译原理第七章习题[定义].pdf
资源推荐
资源详情
资源评论
1. 给出下面表达式的逆波兰表示(后缀式) :
a*(-b+c)
a+b*(c+d/e)
not A or not(C or not D)
(A and B)or (not C or D)
后缀式分别为:
ab-c+*
abcde/+*+
A not CD not or not or
AB and C not D or or
3. 请将表达式 -(a+b)*(c+d)-(a+b+c)分别表示成三元式、间接三元式和四元式序列。
三元式:
(0)(+,a, b)
(1) ( -, (0), _)
(2) (+, c, d)
(3) (*,(1),(2))
(4)(+,a, b)
(5) (+, (4), c)
(6) (-,(3),(5))
间接三元式:
(1)(+,a, b)
(2) ( -, (1), _)
(3) (+, c, d)
(4) (*,(2),(3))
(5) (+, (1), c)
(6) (-,(4),(5))
间接代码: (1)
(2)
(3)
(4)
(1)
(5)
(6)
四元式:
(0)(+,a, b, T1)
(1)(-,T1, _, T2)
(2)(+, c, d, T3)
(3)(*, T2, T3, T4)
(4)(+,a, b, T5)
(5)(+,T5, c, T6)
(6)(- ,T4,T6,T7)
7.用 7.5.1 节的方法,把下面语句翻译成四元式序列:
While A<C and B<D do
If A=1 then C:=C+1
Else while A≤D do A:=A+2;
100 (j<, A,C,102)
101 (j , _, _, 115)
102 (j<,B,D,104)
103 (j ,_, _, 115)
104 (j=,A, 1, 106)
105 (j , _, _, 109)
106 (+, C, 1, T1)
107 (:=, T1,_, C)
108 (j , _, _, 114)
109 (j≤,A,D,111 )
110 (j , _, _, 115)
111 (+, A, 2, T2)
112 (:=,T2, _, A)
113 (j ,_, _, 109)
114 (j , _, _,100)
115
第十章
3.试对以下基本块 B1 和 B2:
B1:A:=B*C
D:=B/C
F:=2*E
G:=B*C
H:=G*G
F:=H*G
L:=F
M:=L
B2:B:=3
D:=A+C
E:=A*C
G:=B*F
H:=A+C
I:=A*C
J:=H+I
K:=B*5
L:=K+J
M:=L
分别应用 DAG 对它们进行优化,并就以下两种情况分别写出优化后的四元式序列:
(1) 假设只有 G,L,M 在基本块后面还要被引用;
(2) 假设只有 L 在基本块后面还要被引用。
解: B1:
F,L,M
* E
H
2 +
*
A,G D
/
*
B C
B1 优化后: A:=B*C (1) G:=B*C (2) G:=B*C
D:=B/C H:=G*G H:=G*G
E:=A+D L:=G*H L:=G*H
G:=A M:=L
H:=G*G
F:=H*G
L:=F
M:=L
B2:
L,M
+
J
+
E,I
D,H
G
+ *
* K
B
n1
1
n2
1
n3
1
n4
41 n8
n5
1
n9
1
n6
n8
1
n5
n4
n7
1
n3
1
n9
1
n6
1
n2 n1
n10
剩余13页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功