编译原理第一章编译原理引论课件.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理第一章编译原理引论课件

编译原理课程概述 授课:付永钢 Email:yonggangfu@ 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 理论知识:形式语言和自动机理论、语法制导的定义和属性文法、类型论等 强调形式化描述技术 强调对编译原理和技术的宏观理解,不把注意力分散到枝节算法,不偏向于某种源语言或目标机器 课程简介 课程意义 对编程语言的设计和实现有深刻的理解,对宏观把握编程语言来说,起一个奠基的作用。 从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。 大多数程序员同时是简单语言的设计者,有助于提高对这些语言的设计水平。 在软件逆向工程、程序理解和软件安全等方面有着广泛的应用。 课程简介 教材: 教材名称:编译原理 主编:陈意云 张昱 出版社:高等教育出版社 主要参考资料 《程序设计语言编译原理(第3版)》,国防工业出版社,陈火旺等编著 《编译原理》,清华大学出版社,吕映芝、张素琴、蒋维杜编著 A.Aho,R.Sethi,and J.D.Ullman,Compilers:Principles,Techniques, and Tools, 2nd edition, Addison-Wesley, 1986 陈意云、张昱,编译原理习题精选,中国科大出版社,2002 教学资源网页:/~yiyun 课程简介 课程要求 目标:师生共同努力,掌握编译器的基本原理和技术 讲课进展较快,平时要及时复习加深理解,否则后面将听不懂 作业要求独立完成 上机实验,不要轻视 考试闭卷,学期总评= 考试成绩占70%,作业占15%,上机实验15% 课程教学内容及时间安排 编译原理概论-------------------2课时 词法分析-----------------------6课时 文法及其描述-------------------2课时 自顶向下语法分析方法-----------4课时 自底向上语法分析法-------------8课时 语法制导翻译-------------------6课时 类型检查-----------------------2课时 运行时空间组织---------------- 2课时 中间代码生成-------------------4课时 代码生成-----------------------4课时 代码优化-----------------------4课时 第一章 编译原理引论 内容提要 编译器构造法的研究目的 编译器的结构 编译的基本原则 编译器应有的性质 编译器技术的应用 关于学习编译原理 编译器构造法的研究目的 什么是编译程序 什么是编译程序? 什么是编译程序? 什么是编译程序? 编译程序 vs. 解释程序 什么叫编译程序? 编译程序:是指这样的程序,它能够把某种语言的程序转换成另一种语言的程序,而后者与前者在逻辑上是等价的。如果源语言是诸如FORTRAN、Pascal、C、Ada、Smalltalk或Java这样的“高级语言”,而目标语言如汇编语言之类的“低级语言”这样的翻译程序则称之为编译程序。 内容提要 编译器构造法的研究目的 编译器的结构 编译的基本原则 编译器应有的性质 编译器技术的应用 关于学习编译原理 编译过程 把英文翻译为中文 识别出句子中的一个个单词; 分析句子的语法结构; 根据句子的含义进行初步翻译; 对译文进行修饰; 写出最后的译文。 编译过程 1. 词法分析 词法分析也叫线性分析和扫描。 从左到右读构成源程序的字符流,分组为多个记号。 2. 语法分析 任务:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位。 依循的原则:语法规则 描述工具:上下文无关文法 语法分析(续) 3. 语义分析 语义分析 这一阶段通常包括两方面的工作,首先对各种语法范畴进行静态语义检查,如果正确则进行另一方面的工作,即进行中间代码的翻译。 通常使用属性文法描述语义规则。 语义分析(续) 编译过程 4. 中间代码生成 5.代码优化 任务:对于前阶段产生的中间代码进行加工变换,以期在最后阶段产生更高效的目标代码。 依循的原则:程序的等价变换规则 6. 目标代码产生 任务: 把中间代码变换成特定机器上的目标代码。 依赖于硬件系统结构和机器指令的含义 目标代码三种形式: 绝对指令代码: 可直接运行 可重新定位指令代码: 连接装配, 汇编指令代码: 需要进行汇编 编译过程 编译过程 编译前端与后端 前端(front end)主要由与源语言有关,但与目标机无关的那些部分组成。通常包括词法分析、语法分析、语义分析与中间代码产生,有的代码优化工作,也可以包括在前端。 后端(back end)包括编译

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档