将算数表达式 a+-(b+c) 翻译成
抽象语法树
四元式序列
三元式序列
间接三元式序列
对下列赋值语句重复练习 6.2.1
a = b[i] + c[j]
四元式
0) =[] b i t1 1) =[] c j t2 2) + t1 t2 t3 3) = t3 a
三元式
0) =[] b i 1) =[] c j 2) + (0) (1) 3) = a (2)
间接三元式
0) =[] b i 1) =[] c j 2) + (0) (1) 3) = a (2) 0) 1) 2) 3)
a[i] = b*c - b*d
0) * b c t1 1) * b d t2 2) - t1 t2 t3 3) []= a i t4 4) = t3 t4
0) * b c 1) * b d 2) - (0) (1) 3) []= a i 4) = (3) (2)
0) * b c 1) * b d 2) - (0) (1) 3) []= a i 4) = (3) (2) 0) 1) 2) 3) 4)
x = f(y+1) + 2
0) + y 1 t1 1) param t1 2) call f 1 t2 3) + t2 2 t3 4) = t3 x
0) + y 1 1) param (0) 2) call f 1 3) + (2) 2 4) = x (3)
0) + y 1 1) param (0) 2) call f 1 3) + (2) 2 4) = x (3) 0) 1) 2) 3) 4)
说明如何对一个三地址代码序列进行转换,使得每个被定值的变量都有唯一的变量名。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8