咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于GCC开发C编译器的研究与实践 收藏
基于GCC开发C编译器的研究与实践

基于GCC开发C编译器的研究与实践

作     者:朱少波 

作者单位:浙江大学 

学位级别:硕士

导师姓名:姚庆栋

授予年度:2003年

学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:C语言 编译器 GCC RTL 

摘      要:编译系统是任何计算机系统中不可缺少的重要部分。但是编译系统的研制因其技术复 杂、难度较高而需要投入较多的人力、物力和花费较长的研制周期。过去编译系统的研制均 是针对某一种程序设计语言和某一种目标机而专门编写的。随着计算机的飞速发展,这种传 统的方法已经很难满足需要。进入八十年代后期,随着国外各种软件公司的兴起以及各种计 算机芯片不断推陈出新,研制支持多目标机的编译系统越来越显得重要,编译程序的开发者 们认识到只有既支持多语种又支持多目标机的编译系统才具有生命力和竞争价值。这种系统 实际上是开发编译程序的基础平台,它采用的技术代表着编译技术的发展方向。 GNU CC是这种支持多语种、多目标机编译系统中最有代表性的一个系统。它目前已支 持的语言有C、C++、Objective C、FORTRAN、ADA;已移植的平台有一百多种,涉及三 十多种处理机,六十多种系统。GNU CC之所以有如此广泛的移植和使用,其原因除了它的 源代码公开之外,更重要的原因应归于其独特的结构。其清晰的前端语法树结构、高度概括 的抽象机中间语言、简洁有力的后端机器描述等三部分为快速实现多语种开发、多平台移植 提供了有力的支持。 目前,浙江大学信息与通信工程研究所正在进行32位多媒体数字信号处理器(命名为 MD-32) 的软硬件开发。由于GNU CC的这种优点,我们选择它对新目标机进行移植。本 文作为前导性的尝试,提出一个简单的处理器模型subDLX,通过对subDLX目标机重写机 器描述,实现了GCC的成功移植。为以后实现对MD-32移植GCC打下来了基础。在实践 过程中我们发现,GCC看似庞大复杂,其实内部结构清晰,技术成熟,它不仅可用来作为 开发新语言编译程序或移植至新目标机的基础,同时还可以用于进行新编译技术,如面向新 体系结构的优化技术研究与实验。 此外,我们借助GCC编译过程中产生的中间代码RTL(Register Transfer Language)文 件,重写目标代码生成和优化功能程序,为新的目标机器开发C语言编译器。这个方法不 要求程序员精通GCC,能够快速的进入编译器的开发,缩短项目开发周期,理论上可以得 到一个更高效的编译器。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分