第1章编译系统概述摘要.pptVIP

  • 2
  • 0
  • 约1.15万字
  • 约 48页
  • 2017-08-21 发布于湖北
  • 举报
第1章编译系统概述摘要.ppt

* 例如表达式 (a+b)*(c+d) 翻译成四元的中间代码如下: (+ , a , b , t1) (+ , c , d , t2) (* , t1 , t2 , t3) 1.3.3语义分析及中间代码生成程序 LOAD a 将a的内容加载到操作数栈 LOAD b 将a的内容加载到操作数栈 ADD 将操作数栈顶的两个单元的内容相加 STO t1 将操作数栈顶的内容存入单元t1 LOAD c 将c的内容加载到操作数栈 LOAD d 将d的内容加载到操作数栈 ADD 将操作数栈顶的两个单元的内容相加 STO t2 将操作数栈顶的内容存入单元t2 LOAD t1 将t1的内容加载到操作数栈 LOAD t2 将t2的内容加载到操作数栈 MULT 将操作数栈顶的两个单元的内容相乘 STO t3 将累加器的内容存入单元t3 翻译成某个抽象机的汇编指令代码: * 1.3.4.代码优化 代码进行优化的目的:提高目标程序的执行效率。代码优化首先在中间代码上进行。在局部范围可能做的优化有常数表达式的计算或根据操作符的某些性质如可结合性、可交换性和分配性以及检测公共子表达式进行优化 有四元式指令代码如下: (*,3.14,2,t1) (=,t1,_,x) (*,2,5,t2) (*,t

文档评论(0)

1亿VIP精品文档

相关文档