编译原理中间代码.pptxVIP

  • 20
  • 0
  • 约1.47万字
  • 约 91页
  • 2022-05-28 发布于北京
  • 举报
; 中间代码的形式;例如 B@CD*+(它的中缀表示:-B+C*D)的计值过程为: 1.B进栈 2.对栈顶元素施行一目运算,并将结果代替栈顶,即-B置于栈顶 3.C进栈 4.D进栈 5.栈顶两元素相乘,两元素退栈,相乘结果置栈顶 6.栈顶两元素相加,两元素退栈,相加结果进栈,现在栈顶存  放的是整个表达式的值;二.三元式和树形表示 每个三元式的组成:(op,ARG1,ARG2) 例如:a:=b*c+b*d (1)(*, b,c) (2)(* ,b,d) (3)(+ ,(1),(2)) (4)(:= ,(3),a) 树形表示是三元式表示  的翻版,上述三元式可  表示成右边的树表示:;表达式的树形表示很容易实现:简单变量或常数的树就是  该变量或常数自身,如果表达式e1和e2的树分别为T1和  T2,那么e1+e2,e1*e2,-e1的树分别为:;三.四元式 四元式的组成:(op,ARG1,ARG2,RESULT) 例如:a:=b*c+b*d (1)(*, b,c,t1) (2)(*, b,d,t2) (3)(+ ,t1,t2,t3) (4)(:= ,t3,-,a);为了直观,也把四元式的形式写成简单赋值形式: (1)t1:=b*c (2)t2:=b*d (3)t3:=t1+t2 (4)a:

文档评论(0)

1亿VIP精品文档

相关文档