编译原理第01章精品.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理第01章精品

* 编译原理引论 编译过程的扫描遍数 一个编译过程可以由一遍,两遍或者多遍完成。 所谓“遍”,也称作“趟”,是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 在实际的编译系统的设计中,编译的几个阶段的工作应该怎样组合,即编译程序究竟分成几遍,参考的因素主要是源语言和机器(目标机)的特征 * 编译原理引论 1.5 解释程序 编译程序和解释程序: 编译程序的编译和运行是两个独立分开的阶段,它先把一个高级语言程序翻译成某个机器的汇编或二进制代码程序,然后这个二进制代码程序在机器上运行以生成结果 解释程序接受某个语言的程序并立即运行这个源程序,它的工作模式是一个个的获取、分析并执行源程序语句,一旦第一个语句分析结束,源程序便开始运行并且生成结果。解释程序的输入包括源程序和源程序的输入数据,它不生成目标代码,直接输出结果。 * 编译原理引论 解释程序的功能 源程序 初始数据 解释程序 计算结果 * 编译原理引论 编译程序和解释程序 编译程序和解释程序在存储组织方面的不同: 编译程序处理时,在源程序被编译阶段,存储区中要为源程序和目标代码开辟空间,要存放编译用的各种各样表格,如符号表。在目标代码运行阶段,存储区中主要是目标代码和数据,编译所用的任何信息都不再需要。 解释程序一般是把源程序一个语句一个语句的进行语法分析,转换为一种内部表示形式,存放在源代码区。在解释程序工作的整个过程中,源程序、符号表等内容始终存放在存储区中,并且存放格式要设计得易于使用和修改 * 编译原理引论 编译程序的运行区内容 源程序缓冲区 名字表 目标代码缓冲区 编译程序用中间 表示及各种表格 目标代码区 数据区 编译时 运行时 * 编译原理引论 解释程序的存储区内容 解释系统 源程序 工作单元及名字表 标号表 缓冲区(输入输出) 栈区 * 编译原理引论 Java语言环境 编译环境 运行环境(Java平台) Java 源程序 (*.java) Java 编译程序 Java BYTECODES (*.class) 类转载器 BYTECODES 验证器 Java 类库 Java虚拟机 解释程序 即时编译程序 硬件 Java BYTECODES (来自本地的 或经由网络的) * 编译原理引论 1.6 处理源程序的软件工具 语言的结构化编辑器 语言程序的调试工具 程序格式化工具 语言程序测试工具 静态分析器 动态测试器 程序理解工具 高级语言之间的转换工具 * 编译原理引论 1.7 程序设计语言范型 强制(命令)式语言(imperative language) 也称过程式语言。 代表语言:C, FORTRAN, Pascal 这种语言是面向动作的,即一个计算过程看作是一系列动作。其动作是命令驱动,以语句形式表示。 一个强制式语言程序由一系列的语句组成,每个语句的执行引起若干存储单元中的值的改变。 强制式语言执行的解释与万诺曼机的体系结构对应:顺序执行指令,通过机器状态(内存,各种寄存器和外存的内容)的改变理解指令执行的含义。 * 编译原理引论 程序设计语言范型 函数式语言(functional language) 也成为应用式语言。 代表语言:ML, LISP 函数式语言更注重程序所表示的功能,而不是一个语句接一个语句地执行。 程序的开发过程是从前面已有的函数出发构造出更复杂的函数,对初始数据集进行操作,直至最后形成的函数可以用于从初始数据计算出最终的结果。 程序的执行过程是:执行一个个函数施用在数据上的变换最终得到结果。 * 编译原理引论 程序设计语言范型 基于规则(逻辑)的语言 这类语言的语法形式通常为: 条件1-动作1 条件2-动作2 条件3-动作3 程序的执行过程是:检查一定的使能条件,当它满足时,则执行适当的动作。 最常见的这类语言是PROLOG,也成为逻辑程序设计语言。 * 编译原理引论 程序设计语言范型 面向对象语言 主要特点是提供抽象数据类型,支持封装性、继承性和多态性 主要语言:Ada, C++, Java 编译原理引论 编译原理引论编译原理引论 编 译 原 理 * 编译原理引论 联系方式 E-mail: leiyu@stdu.edu.cn 手机办公室:信息科学与技术学院办公楼201 * 编译原理引论 课程简介 重要的计算机专业必修基础课程,理论性强、算法多、难度大 硕士研究生和博士研究生入学的考试科目 课程性质:必修课,4学分 学时:52上课+12实验=64学时 参考教材: 编译原理(第2版),清华大学出版社,张素琴等编著,2005年2月出版 * 编译原理引论 课程要求 课前预习 上课认真听讲,不允许聊天、睡觉、玩游戏、看与本课程无关的书籍等 无故不得旷课,有事要请假,三次以上无故旷课取消期末

文档评论(0)

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

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

1亿VIP精品文档

相关文档