首页> 中文学位 >C编译器中间代码生成及其后端的设计与实现
【6h】

C编译器中间代码生成及其后端的设计与实现

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

第一章 绪 论

1.1 引言

1.2 国内外研究状况

1.3 课题的研究意义

1.4 论文的主要工作

1.5 论文的结构安排

第二章 语法分析和符号表概述

2.1 语法分析简介

2.2 类型系统和符号表简介

2.3 本章小结

第三章 中间代码生成器的设计与实现

3.1 三地址码简介

3.2 中间代码生成需要的数据结构

3.3 中间代码生成器的算法框架

3.4 中间代码翻译的具体实现

3.5 本章小结

第四章 汇编代码生成器的设计与实现

4.1 汇编代码生成简介

4.2 汇编代码生成器的数据表示

4.3 汇编代码生成器的算法框架

4.4 汇编代码翻译的具体实现

4.5 本章小结

第五章 软件测试及性能分析

5.1 功能测试

5.2 性能分析

5.3 目标代码优化

5.4本章小结

第六章 总结与展望

6.1 当前工作总结

6.2 下一步工作展望

致谢

参考文献

展开▼

摘要

本文主要研究 C编译器的实现技术。虽然当前已有了各种成熟版本的编译器供人们使用,但是局限于编译技术涉及太多计算机底层细节、研究门槛过高的特点,绝大多数科研人员对编译器内部的实现机制仍然不甚明了。深入研究编译器相关技术,不仅能促使科研人员更好的设计软件,甚至对于推动计算机科学的发展都有着重要影响。因此,通过设计并实现一个架构清晰、功能完善的编译器来揭示编译技术的实现原理,帮助科研人员更好的理解程序运行的本质,具有重大的意义。
  本文分析了编译器各模块的功能及其实现中存在的一些待解决的问题。针对编译过程中不同的处理模块,通过设计相应的数据结构和算法框架阐述了基本的编译器实现技术。为了能够更清晰、明确的揭示编译器的工作原理,本文在数据结构设计和算法实现上都具有了多方面的特色:
  1. LR语法分析技术的实现。不同于现有的编译原理书籍中介绍的计算项集来选择产生式的方式,实现了基于表驱动框架的语法分析器,简化了LR语法分析的实现方式。
  2.中间代码生成器的设计与实现。设计了描述中间代码生成器功能的数据结构,设计并实现了进行中间代码输出的主算法框架,实现了将源程序中的表达式和语句翻译为合适的中间代码表示。
  3.汇编代码生成器的设计与实现。设计了描述汇编代码生成器功能的数据结构,设计并实现了进行汇编代码输出的主算法框架,实现了将源程序翻译为汇编代码表示。
  4.目标代码优化的实现。设计了等价类表来实现对生成的汇编目标代码的优化,消除了冗余的指令计算。
  最后的测试结果表明,本文实现的 C编译器可以将源程序翻译为汇编目标代码,并且能够成功执行得到正确的结果。本文设计的 C编译器数据结构和算法架构清晰,不仅易于理解编译技术的基本原理而且方便实现,在此基础上还可以进行更进一步的优化工作。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号