编译原理1详解.ppt

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教材;参考资料;期末考试成绩(70%) 平时成绩(30%),包括: 作业(10%) 考勤(20%);《编译原理》课程简介;作用: 编译原理是介绍如何将高级程序设计语言变换成计算机硬件所能识别的机器语言,以便计算机进行处理。 编译原理是编译程序的原理。 2. 它的理论基础坚实,其形式化系统不仅应用于编译技术,还大量应用于人工智能,多媒体技术及数据等领域。;学习意义 对编程语言的设计和实现有深刻的理解,对和编程语言有关的理论有所了解,对宏观上把握编程语言来说,起一个奠基的作用。 从软件工程看,编译器是一个很好的实例,所介绍的概念和技术能应用到一般的软件设计之中。 编译技术的应用和编译技术的发展 高级语言设计、计算机体系结构的优化(并行、内存分层)、新型计算机体系结构设计、程序翻译、提高软件开发效率的工具 、高可信软件。;学习任务: 1. 掌握编译的理论基础和形式化系统 2. 了解编译的全过程及其具体实现方法。;学习方法: 1. 认真听课,认真理解书中的基本概念、基本原理和基本算法 2. 弄懂书上的例题和习题 3. 在看书时或理解例题时,一定要画出相应的细节变化过程,通过画图来加深理解 4. 在理解的基础上记忆 5. 理论结合实践;课程内容;第1章 编译引论;1.1 编译器概述;1.1 编译器概述;;在机器上如何执行一个高级语言程序? ?把高级语言程序翻译成机器语言程序 ?运行所得到的机器语言程序求得计算结果;1.1 编译器概述;1.1 编译器概述;1.1 编译器概述;1.1 编译器概述;1.1 编译器概述;1.1.2 ;1.1 编译器概述;;编译程序的表示方法;1.2 编译程序的表示与分类;(1)从语言类型或实现机制不同;(2)从对源程序执行途径的不同 解释执行 编译执行;1.2 编译程序的表示与分类;1.3 编译程序的结构与编译过程;1.1 编译器概述;词法分析阶段的主要任务是对输入的符号串形式的源程序进行最初的加工处理。它依次扫描读入的源程序中的每个字符,识别出源程序中有独立意义的源语言单词,用某种特定的数据结构对它的属性予以表示和标注。 词法分析实际上是一种线性分析。属性字的数据结构可据不同语言及编译程序实现方案来设计,但一般设计成单词属性标示及单词内码两个数据项。;词法分析的功能 词法分析阅读构成源程序的字符流,按编程语言的词法规则把它们组成词法记号流。;2 语法分析;任务: 对于法分析识别出的各类语法范畴,分析其含义,进行和初步翻译,产生介于源代码和目标代码之间的一种代码。 ;分为两个阶段工作 ——对每种语法范畴进行静态语义检查 例:蚂蚁戴眼镜 ——若语义正确就进行中间代码的翻译 中间代码的形式 ——四元式、三元式、逆波兰式 ;X=a+b*50 中间代码表——四元式;等价变换;任务: 对前面产生的中间代码进行加工变换,以期在最后阶段能产生更为高效的目标代码。 原则:等价变换;任务: 把经过优化的中间代码转化成特定机器上的低级语言代码。;6. 分析和综合 7. 前端和后端 将编译器是依赖于对源语言的操作还是对目标语言的操作,将其分为前端和后端两部分。;根据编译程序各部分功能,将编译程序分成前端和后端;1.3.2 编译程序结构的公共功能与编译程序的组织; 第一遍 第二遍 …… ;1.4 语言开发环境中的伙伴程序;1.5 编译程序结构的实例模型;1.5 编译程序结构的实例模型;1.5 编译程序结构的实例模型;1.6 编译程序的构造与实现;1.5 编译程序结构的实例模型;编译程序的构造工具 1. 词法分析器自动生成器 Lex Flex 2.语法分析程序产生器 YACC Bison;3.语法制导翻译器 4.代码自动生成器 模板比较、模板映射 5.数据流分析装置 代码优化部分;1.5 编译程序结构的实例模型

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档