摘要:编译器将源程序作为输入,翻译产生等价的目标程序。编译器的工作可以分为几个阶段包括词法分析,语法分析,语义分析,中间代码生成以及目标代码生成。
本文主要介绍了编译器最后一个阶段即目标代码生成。主要工作是设计一个代码生成器,输入的是源程序的中间代码,输出为汇编语言。本设计选择了输入的中间代码为三地址代码,选择了输出的汇编指令的形式,以及对目标机器的指令系统精简,选择适当的存储分配方式。
关键词 目标代码生成;中间代码;目标机器;代码生成器
目录
摘要
Abstract
1 绪论-1
1.1 项目开发背景-1
1.2 项目开发的意义-1
1.3完成的主要工作-1
1.4论文组织结构-1
2 相关知识介绍-3
2.1编译器概述-3
2.2中间表示-3
2.2.1后缀表示-3
2.2.2图形表示-3
2.2.3三地址代码-5
2.2.4静态单赋值形式-5
2.3目标程序-5
3 代码生成器的接口-6
3.1代码生成器的输入-6
3.2代码生成器的输出-7
4数据结构-10
4.1符号表-10
4.2四元式表-11
4.3汇编表-13
4.4四元式和汇编对照表-14
5目标代码生成-17
5.1代码生成算法-17
5.2寄存器分配-17
5.2.1 寄存器描述和地址描述-17
5.2.2 寄存器分配原则-18
5.3程序实现-19
5.3.1符号表操作-19
5.3.2生成目标代码-20
5.3.3程序分析-23
结论-25
致谢-26
参考文献-27
附录-28