C语言编译器的设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计任务书 题目:  C 语言编译器的设计 学 姓 专 课  号 名 业 程  计算机科学与技术 编译原理 指导教师  职称 完成时间:20 10  年 12  月----2010  年 12  月 课程设计任务书及成绩评定 课程设计的任务和具体要求 了解编译器的基本结构,分析编译器的设计原理。 加深对词法分析器的工作过程的理解;加强对词法分析方法的掌握;能够采用一 种编程语言实现简单的词法分析程序;能够使用自己编写的分析程序对简单的程序段进 行词法分析。 加深对语法分析器工作过程的理解;加强对递归下降法实现语法分析程序的掌握; 能够采用一种编程语言实现简单的语法分析程序;能够使用自己编写的分析程序对简单 的程序段进行语法翻译。 加深对中间代码生成的工作过程的理解。 加深对代码优化的工作过程的理解。 加深对目标代码生成的工作过程的理解 指导教师签字:  日期: 指导教师评语 成绩: 课程设计所需软件、硬件等 Windows xp vc6.0  指导教师签字:  日期: 课程设计进度计划 起至日期 2010 年 12 月 1 日-2010 年 12 月 20 日 2010 年 12 月 20 日- 2010 年 12 月 26 日 工作内容 收集资料 程序分析 备注 参考文献、资料索引 序号 文献、资料名称 编著者 出版单位 [1] 汤子瀛,哲风屏,汤小丹.计算机操作系统.陕西:西安电子科大出版社,1996 [2] 陈莉君. Linux 操作系统内核分析.人民邮电出版社,1999 [3] 庞丽萍.操作系统原理.华中理工大学出版社,1994 [4] [美]莫里斯?贝奇著 UNIX 操作系统设计 陈葆钰等译 北京大学出版 社,1989 [5] 吕映芝,张素琴,蒋维杜.编译原理.清华大学出版社,1997 [6] 冯博琴,傅向华等译 现代编译程序设计 人民邮电出版社,2002 [7] 李建中,姜守旭等译 编译原理 机械工业出版社,2002   摘要 编译程序是现代计算机系统的基本组成部分之一,而且多数计算机系统都含有不止一个 高级语言的编译程序,对有些高级语言甚至配置了几个不同性能的编译程序。从功能上看, 一个编译程序就是一个语言翻译程序。它把一种语(称作源语言)书写的程序翻译成另一种 语言(称作目标语言)的等价的程序。比如汇编程序是一个翻译程序,它把汇编语言程序翻 译成机器语言程序。如果源语言是像 FORTRAN,PASCAL,或 C 那样的高级语言,目标语 言是像汇编语言或机器语言那样的低级机器语言,则这种翻译程序称作编译程序。一个编译 程序的重要性体现在它使得多数计算机用户不必考虑与机器有关的繁索细节,使程序员和程 序设计专家独立于机器,这对于当今机器的数量和种类持续不断地增长的年代尤为重要。编 译过程划分了词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成、 六个阶级。另外两个重要的工作:表格处理和出错处理与上述六个阶级都有联系。 一 、引言(或绪论) 编译器的设计涉及到编译程序构造的一般原理、基本设计方法、主要实现技术和一些自 动构造工具。尽管“编译程序”是特指将高级程序设计语言翻译成低级语言的软件,但编译 程序构造的基本原理和技术也广泛应用于一般的设计和实现,因此,是一门对实践性要求较 高的课程。 目前,世界上存在着数千种源语言,既有 Fortran 和 Pascal 这样的传统程序设计语言, 也有各计算机应用领域中出现的专用语言。目标语言也同样广泛,目标语言可以是另一种程 序设计语言或者是从微处理机到计算机的任何计算机的机器语言。不同语言需要不同的编译 器。根据编译器的构造方法或者它们要实现的功能,编译器被分为一遍编译器、多遍编译器、 装入并执行编译器、调试编译器、优化编译器等多种类别。从表面上看,编译器的种类似乎 千变万化,多种多样,实质上任何编译器所要完成的基本任务都是相同的。通过理解这些任 务,我们可以利用同样的基本技术为各种各样的源语言和目标机器构建编译器。 中间代码生成在进行了上述的语法分析和语义分析的工作之后,有的编译程序将源程序 变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。所谓“中间代码”是一 种结构简单、含义明确的记号系统,这种记号系统可以设计为多种多样的形式,重要的设计 原则为两点:一是容易生成;二是容易将它翻译成目标代码。很多编译程采用了一种近似 “三地址指令”的“四元式”中间代码,这种四元式的形式为:(运算符,运算对象 1,运 算对象 2,结果)。 二、编译器的基础知识 一个编译程序就是一个语言翻译程序。它把一种语(称作源语言)书写的程序翻译成另 一种语言(称作目标语言)的等价的程序。比如汇编程序是一个翻译程序,它把汇编语言程 序翻译成机器

文档评论(0)

xiaoluping2000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档