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

来源 :电子科技大学 | 被引量 : 6次 | 上传用户:itcrasher9999
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文主要研究C编译器的实现技术。虽然当前已有了各种成熟版本的编译器供人们使用,但是局限于编译技术涉及太多计算机底层细节、研究门槛过高的特点,绝大多数科研人员对编译器内部的实现机制仍然不甚明了。深入研究编译器相关技术,不仅能促使科研人员更好的设计软件,甚至对于推动计算机科学的发展都有着重要影响。因此,通过设计并实现一个架构清晰、功能完善的编译器来揭示编译技术的实现原理,帮助科研人员更好的理解程序运行的本质,具有重大的意义。本文分析了编译器各模块的功能及其实现中存在的一些待解决的问题。针对编译过程中不同的处理模块,通过设计相应的数据结构和算法框架阐述了基本的编译器实现技术。为了能够更清晰、明确的揭示编译器的工作原理,本文在数据结构设计和算法实现上都具有了多方面的特色:1.LR语法分析技术的实现。不同于现有的编译原理书籍中介绍的计算项集来选择产生式的方式,实现了基于表驱动框架的语法分析器,简化了LR语法分析的实现方式。2.中间代码生成器的设计与实现。设计了描述中间代码生成器功能的数据结构,设计并实现了进行中间代码输出的主算法框架,实现了将源程序中的表达式和语句翻译为合适的中间代码表示。3.汇编代码生成器的设计与实现。设计了描述汇编代码生成器功能的数据结构,设计并实现了进行汇编代码输出的主算法框架,实现了将源程序翻译为汇编代码表示。4.目标代码优化的实现。设计了等价类表来实现对生成的汇编目标代码的优化,消除了冗余的指令计算。最后的测试结果表明,本文实现的C编译器可以将源程序翻译为汇编目标代码,并且能够成功执行得到正确的结果。本文设计的C编译器数据结构和算法架构清晰,不仅易于理解编译技术的基本原理而且方便实现,在此基础上还可以进行更进一步的优化工作。
其他文献
随着企业文化对企业经营的影响力越来越大,国内企业也加快了自身的企业文化建设。目前,国内大型企业的企业文化究竟有没有对企业产生促进作用,我们可以通过研究企业文化对组
<正>一、我国花卉出口概况中国现已经成为世界最大的花卉生产基地,在世界花卉生产贸易格局中占有重要的地位。近年来,我国花卉产业不断开拓海外市场,保持了较快的发展势头。2
cDNA-AFLP是一种经济且高通量的筛选和识别非生物胁迫下基因差异表达的实验技术。本研究对传统cDNA-AFLP技术进行改良.并利用改良型技术对木薯KU50和SCl24不同程度干旱胁迫RNA
本文以富士苹果为试材,分别采用了乙烯吸收剂(Ethylene absorbent)、1-甲基环丙烯(1-methylcyclopropene)、生物保鲜剂(纳他霉素、ξ-聚赖氨酸)以及1-MCP结合生物保鲜剂、1-MCP结合
以木浆纤维、粘胶纤维和聚乙烯/聚丙烯双组分纤维(ES纤维)为原料,以木浆纤维/粘胶纤维质量比、粘胶纤维长度、ES纤维长度为因素设计正交实验方案,采用湿法成网非织造工艺,制
媒介娱乐化在我国的发展已经形成一种趋势,但其过度发展造成媒介与司法、媒介与受众、媒介与社会、媒介与文化的矛盾,亟待法律予以规范,同时又要加强业者素质,以发挥媒介的积
<正>新课程标准提倡促进学生的自主性学习,所以在日常教学和管理的过程中,学校要组织、引导学生积极参与、乐于探索、勇于实践、勤于思考,为培养全面发展人才、为学生终身学
会议
《别让我走》改编于石黑一雄同名小说,讲述克隆人“长大—捐献器官—死亡”的存在故事。不同于同类科幻电影的自由主义主题,《别让我走》中克隆人群体在对身份建构和自我价值
<正> 一、人地关系在地理教育中的地位及其发展地理学是研究人类赖以生存的地理环境,以及人类活动与地理环境关系的一门学科,由于地理学与人类的生活、生产有着密切的关系,世
本文采用预聚-扩链-中和-分散-溶解法,以TDI、PCL、DHPDMS为原料、DMPA为扩链剂,合成出了一系列改性聚氨酯水溶液,并考察了其反应条件和性能。实验结果表明,n(NCO)/n(OH)为3,