《高级中间代码生成技术》课件.ppt
高级中间代码生成技术;课程简介与目标;中间代码概述:定义与作用;为什么要使用中间代码?;中间代码的种类:三地址码、P-code等;三地址码详解:结构与操作;P-code详解:结构与操作;中间代码的优点与缺点;代码优化概述:重要性与分类;局部优化:基本块划分;常量折叠与常量传播;代数简化与强度削弱;死代码删除;公共子表达式消除;全局优化:控制流图分析;数据流分析:活跃变量分析;可用表达式分析;到达定值分析;循环优化:循环不变式外提;强度削弱与归纳变量优化;;函数间优化:内联展开;过程间常量传播;中间代码生成:语法制导翻译;表达式的中间代码生成;;控制流语句的中间代码生成;布尔表达式的中间代码生成;函数调用的中间代码生成;数组访问的中间代码生成;面向对象语言的中间代码生成;虚函数调用与动态绑定;异常处理的中间代码生成;内存管理的中间代码生成;代码生成器的设计与实现;目标代码选择;寄存器分配:图着色算法;指令调度:列表调度算法;窥孔优化;代码生成的后端技术;动态代码生成;即时编译(JIT)技术;垃圾回收技术;中间代码的应用:编译器与解释器;编译器中的中间代码使用;解释器中的中间代码使用;虚拟机与中间代码;Java虚拟机(JVM)与字节码;.NET公共语言运行时(CLR)与CIL;中间代码的调试与测试;调试器的设计与实现;测试用例生成与覆盖率分析;;LLVM:中间表示(IR);GNUCompilerCollection(GCC);案例分析:编译器优化实例;实验环节:设计并实现一个简单的中间代码生成器;课程总结与回顾;重点知识回顾;难点问题解答