编译原理(陈火旺第三版)练习答案(15)
发布时间:2021-06-07
发布时间:2021-06-07
编译原理(陈火旺第三版)练习答案
第六章
P164-1
解答:表达式(4*7+1)*2的附注语法树:
L
n
*
F.val=29
digit.val=2
E.val=29 F.val=1
digit.val=1 F.val=4 digit.val=7
digit.val=4
P164-2
+
+
a b
(1)
a
b(2)
p165-5 (1)
E→E1+T { if (E1.type = int) and (T.type = int) then E.type = int Else E.type = real } E→T { E.type = T.type } T→num. num { T.type = real } T→num { T.type = int } (2)
E→E1+T { if (E1.type = int) and (T.type = int) then
E.type = int
E.code = E1.code || T.code || +
Else if (E1.type = real) and (T.type = real)
E.type = real
E.code = E1.code || T.code || + Else if E1.type = int then E.type = real
E.code = E1.code ||inttoreal || T.code || +