- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理01分析
编 译 原 理 西安电子科技大学 软件工程研究所 张立勇 题外话 题外话(续1) 题外话(续2) 题外话(续3) 题外话(续4) 第一章 引言 1 计算机语言举例(续1) 1 计算机语言举例(续2) 2 按范型划分的程序设计语言 3 其他面向特定应用领域的语言 1.2 语言之间的翻译 1.3 编译器与解释器 1.3 编译器与解释器(续) 1.4 编译器的工作原理与基本组成1.4.1 通用程序设计语言的主要成份 1.4.2 以阶段划分编译器 1.4.3 编译器各阶段的工作 1.4.3 编译器各阶段的工作(续1) 1.4.3 编译器各阶段的工作(续2) 1.4.3 编译器各阶段的工作(续3) 1.4.4 编译器的分析/综合模式 1.4.4 编译器的分析/综合模式(续1) 第-次课 结束 1.4.2 以阶段划分编译器 1.4.3 编译器各阶段的工作 1.4.3 编译器各阶段的工作(续1) 1.4.3 编译器各阶段的工作(续2) 1.4.3 编译器各阶段的工作(续3) 1.4.4 编译器的分析/综合模式 1.4.4 编译器的分析/综合模式(续1) 1.4.5 编译器扫描的遍数 1.5 编译器的编写 1.6 本章小结 第一章 结束 例6 一Pascal的过程如下 每个阶段将程序完整分析一遍的工作模式称为一遍扫描。早期编译器的一遍定义为从外存读入内存再写到外存; 确定扫描遍数的因素: 软、硬件条件,如内存太小,或全局优化 语言结构,如规定标识符的先声明后引用 … x := f(a, b, c); … function f(a:integer; b:integer):integer; 编译技术,如拉链-回填 … goto lab1; … lab1: … 直接使用汇编语言和程序设计语言; 利用编译器编写工具:词/语法、语法制导翻译、代码生成、数据流分析等; 基于编译器基础架构的编译器构造系统(开放式编译器,如GCC、SUIF等)。 1.语言与语言的翻译 2.编译器的基本组成(工作) 3.编译器的分析/综合模式,编译器基础架构 4.扫描遍数 5.编译器的编写 其它 作业:教材中除标记*的全做;根据课程进度做;第二、五章交一次,第三、四章交两次; 课代表:收缴作业、联系上机、反映同学意见,等 答疑:时间(地点); 上机作业:交上机报告,作业由辅导教师验收。 返回 (1) procedure sample(y: integer); {过程头} (2) var x : integer; {过程体(开始)} (3) begin x := y; (4) if x100 then x := 0 (5) end; {过程体(结束)} (1)是过程头,它是一个声明性的语句,为使用者提供调用信息,包括过程名、参数、返回值(若有的话)等。(接口) (2)至(5)是过程体,它是一个语句序列。语句序列中既包括声明性语句也包括操作性语句。(实现) (2)是声明性语句,而(3)至(5)是操作性语句。 编译器对声明性语句的处理一般是生成相应的环境(存储空间),而对操作性语句则是生成此环境中的可执行代码序列。 为了便于编译器的处理,操作性语句中使用的每个操作对象,均应在使用前声明,即符合先声明后引用的原则。 * * 一、本课程讨论的领域和希望达到的目的 1.2 CCC 2002 中国计算机科学与技术学科教程(China Computing Curricula 2002,CCC2002)提出的计算机科学与技术学科的知识体系,包括了14个基本的知识领域。与本课程相关的: 1.程序设计基础(PF):程序设计基本结构、算法与问题求解、基本数据结构、递归、事件驱动程序设计。(PLA) 2.程序设计语言(PL):程序设计语言概论、虚拟机、语言翻译简介、声明和类型、抽象机制、面向对象程序设计(以上是核心);函数程序设计、语言翻译系统、类型系统、程序设计语言的语义、程序设计语言的设计(以上是选修)。(PLA、PLT、PLD) 1.1 领域 程序设计语言的应用-程序设计(PLA) 程序设计语言的翻译-编译器的构造(PLT) 程序设计语言的设计-语法、语义(PLD) 1.3 目的 1.了解PL的基本要素、工作原理、语言翻译的基本方法; 2.用不同的PL进行程序设计,即自学计算机语言的能力; 3.具备语言翻译的基本技能。 二、学习方法 2.1 本课程的特点 理论与实践并重 理论学习要严谨、方法掌握要灵活 提高自学能力(push与pull) 2.
您可能关注的文档
- 绿色施工方案(滨江)分析.doc
- 绿色生态园——解决问题分析.ppt
- 绿色食品标准分析.ppt
- 绿色食品的生产分析.ppt
- 绿地海外滩派销夹资料0820分析.ppt
- 绿色施工培训分析.ppt
- 编写神话故事3.22分析.ppt
- 编制索赔报告分析.ppt
- 编导艺考故事进阶材料分析.ppt
- 编写一个童话故事7分析.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)