摘要 | 第4-5页 |
ABSTRACT | 第5页 |
注释表 | 第12-13页 |
第一章 绪论 | 第13-21页 |
1.1 研究背景 | 第13-14页 |
1.2 研究现状 | 第14-16页 |
1.2.1 GCC | 第14页 |
1.2.2 SPAM | 第14页 |
1.2.3 TRIMARAN | 第14-15页 |
1.2.4 LCC | 第15-16页 |
1.3 编译器结构简介 | 第16-19页 |
1.3.1 词法分析器和语法分析器的自动生成 | 第17-18页 |
1.3.2 语义分析器的自动生成 | 第18页 |
1.3.3 代码生成器的自动生成 | 第18-19页 |
1.4 本文的主要内容和贡献 | 第19页 |
1.5 论文结构 | 第19-21页 |
第二章 BURS 自动生成技术 | 第21-35页 |
2.1 相关技术概述 | 第21-22页 |
2.2 BURS 模型 | 第22-32页 |
2.2.1 BURS 自动机 | 第24-25页 |
2.2.2 正规形 | 第25页 |
2.2.3 BURS 自动机生成算法 | 第25-32页 |
2.3 BURS 工具 | 第32-34页 |
2.3.1 BURS 实现面临的问题 | 第32页 |
2.3.2 LBURG 和 LBURG 规范 | 第32-34页 |
2.4 本章小结 | 第34-35页 |
第三章 32 位 MIPS 处理器代码生成器的设计与实现 | 第35-57页 |
3.1 32 位 MIPS 体系结构 | 第35-38页 |
3.2 终结符和非终结符 | 第38-43页 |
3.2.1 非终结符 | 第38-39页 |
3.2.2 终结符 | 第39-43页 |
3.3 指令选择 | 第43-51页 |
3.3.1 规则的编写准则 | 第43-44页 |
3.3.2 栈帧的结构 | 第44页 |
3.3.3 叶节点 | 第44-47页 |
3.3.4 规则转换 | 第47-51页 |
3.4 函数实现 | 第51-55页 |
3.5 数据定义 | 第55页 |
3.6 块的复制 | 第55-56页 |
3.7 本章小结 | 第56-57页 |
第四章 32 位 MIPS 处理器汇编器的设计和实现 | 第57-66页 |
4.1 MIPS 汇编语言和机器编码 | 第57-58页 |
4.2 目标代码和中间文件的格式 | 第58-59页 |
4.3 典型汇编器的设计 | 第59-60页 |
4.4 本文汇编器的设计 | 第60-62页 |
4.5 汇编器的实现 | 第62-65页 |
4.5.1 主要数据结构 | 第62-63页 |
4.5.2 具体实现 | 第63-65页 |
4.6 本章小结 | 第65-66页 |
第五章 优化器的设计 | 第66-76页 |
5.1 优化器的总体逻辑结构 | 第66-67页 |
5.2 主要数据结构 | 第67-68页 |
5.3 优化器的工作原理 | 第68-75页 |
5.3.1 读入汇编源程序 | 第68页 |
5.3.2 划分基本块 | 第68-69页 |
5.3.3 数据流分析、创建 Du-链和 Ud-链 | 第69-72页 |
5.3.4 代码优化 | 第72-74页 |
5.3.5 输出优化后的汇编程序 | 第74-75页 |
5.4 关键模块的设计 | 第75页 |
5.5 本章小结 | 第75-76页 |
第六章 测试和验证 | 第76-84页 |
6.1 C 源代码示例 | 第76页 |
6.2 代码生成器生成的汇编语言代码 | 第76-78页 |
6.3 汇编器生成的机器语言代码 | 第78页 |
6.4 仿真结果 | 第78-83页 |
6.4.1 MIPS 软核简介 | 第78-80页 |
6.4.2 仿真结果 | 第80-83页 |
6.5 本章小结 | 第83-84页 |
第七章 总结和展望 | 第84-85页 |
7.1 总结 | 第84页 |
7.2 展望 | 第84-85页 |
参考文献 | 第85-91页 |
致谢 | 第91-92页 |
在学期间的研究成果及发表的学术论文 | 第92页 |