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

来源 :浙江大学 | 被引量 : 0次 | 上传用户:dafuxuan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译系统是任何计算机系统中不可缺少的重要部分。但是编译系统的研制因其技术复杂、难度较高而需要投入较多的人力、物力和花费较长的研制周期。过去编译系统的研制均是针对某一种程序设计语言和某一种目标机而专门编写的。随着计算机的飞速发展,这种传统的方法已经很难满足需要。进入八十年代后期,随着国外各种软件公司的兴起以及各种计算机芯片不断推陈出新,研制支持多目标机的编译系统越来越显得重要,编译程序的开发者们认识到只有既支持多语种又支持多目标机的编译系统才具有生命力和竞争价值。这种系统实际上是开发编译程序的基础平台,它采用的技术代表着编译技术的发展方向。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,能够快速的进入编译器的开发,缩短项目开发周期,理论上可以得到一个更高效的编译器。
其他文献
<正>一、房地产企业财务风险表现形式房地产企业作为典型的资金密集型行业,具有资金投入量大、回收期长、变现能力差等特点,这些特点决定了房地产企业必然会面临巨大的财务风
集体上访是目前我国公共管理中存在的一种突出现象,而国内社会科学界仍缺乏对这一现象的深入研究。本文是以政治学和行政学的视角研究集体上访的一次尝试。全文分四个部分:第一
目的 ①观察摄入高脂食物对肾脏的损害及病理特点,探讨茶多酚对兔脂质性肾损害的保护作用;②探讨茶多酚对体外培养的大鼠肾小球系膜细胞摄取脂蛋白的抑制作用。 方法 ①动物
论文从价值评估的角度,研究了首次公开发行(“initial publicoffering”,简称IPO)股票定价。 IPO是股份公司从少数人持股向公众公司转变的首要步骤,是二级市场的源头活水,发行
在传统时间文化影响下,中国古代小说形成了自身较为稳定的叙事特征。首先,基于古老的"宇宙"观念,中国古代小说的叙事时间带有物态化倾向,并进而形成其"时与事并"叙事常规;其
<正> 初中第三册《语文》课本里的说明文《核舟记》,记写我国古代果核微雕工艺品——明代桃核舟。文中记核舟外形尺寸为“舟首尾长约八分有奇,高可二黍许”。没有谈宽度。使
据赛迪顾问(CCID)统计:2001年中国计算机市场全年市场销售收入为2500亿元人民币左右,其中硬件市场销售收入约1800亿元,软件与信息服务销售收入为700亿元左右。而在家电行业,彩电
本文以一个实际的安全操作系统的开发实践为基础,针对日益变化的信息威胁和各式各样的安全需求,对支持多安全政策的安全操作系统的开发方法进行了研究,取得了六个方面的主要成果
<正> 生脉注射液系由红参、麦冬、五味子等组成,近年来广泛应用于治疗心力衰竭、冠心病、心律失常、病毒性心肌炎、脑梗塞、扩张型心肌病、低血压、糖尿病、病毒性肺炎等诸多
目前,面向虚拟仪器的可视化编程语言(或称图形化编程语言)多是基于动态纯数据流(DHDF)模型的。由于DHDF的自然属性(数据驱动)与目前大多数操作系统的事件驱动模型不能很好地结