编译原理第6章习题与答案
- 格式:doc
- 大小:43.50 KB
- 文档页数:4
真诚为您提供优质参考资料,若有不当之处,请指正。
1 / 4 第6章 习题
6-1 将下列中缀式改写为逆波兰式。
(1) -A*(B+C)/(D-E)
(2) ((a*d+c)/d+e)*f+g
(3) a+x≤4∨(c>d*3)
(4) a∨b∧c 6-2 将下列逆波兰式改写为中缀式。 (1) abc*+ (2) abc-*cd+e/- (3) abc+≤a0>∧ab+0≠a0<∧∨ 6-3 将下列语句翻译成四元式序列。 (1) X:=A*(B+C)+D (2) if A∧(B∨(C∨D)) then S1 else S2 (3) while A if A=1 then C:=C+1 else A:=A+2 6-4 设有二维PASCAL数组A[1··10, 1··20]和三维PASCAL数组B[1··10, 1··20, 1··30],给出赋值语句 A[I,J]:=B[J,I+J,I+1]+X 的四元式序列。 第5章 习题答案 6-1 解: (1) A-BC+*DE-/ 真诚为您提供优质参考资料,若有不当之处,请指正。 2 / 4 (2) ad*c+d/e+f*g+ (3) ax+4≤cd3*>∨ (4) abcde*f/<∧∨ 6-2 解: (1) a+b*c (2) a*(b-c)-(c+d)/e (3) a≤b+c∧a>0∨a+b≠0∧a<0 6-3 解: (1) (1) (+,B,C,T1) (2) (*,A,T1 ,T2) (3) (+,T2 ,D,T3) (4) (=,T3 ,0,X) (2) 如下所示: (1) (jnz,A,0,3); (2) (j,0,0,p+1); (3) (jnz,B,0,9); (4) (j,0,0,5); (5) (jnz,C,0,9); (6) (j,0,0,7); (7) (jnz,D,0,9); (8) (j,0,0,p+1); (9) 与S1相应的四元式序列 (p) (j,0,0,q) (p+1) 与S2相应的四元式序列 (q) … (3) 假设所产生的四元式序列编号从1开始