第一章-编译原理004.pptxVIP

  1. 1、本文档共12页,可阅读全部内容。
  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文档。上传文档
查看更多
第一章-编译原理004

编译原理 计算机学院尹大力 编 译 原 理1.2 编译程序的工作过程 ——表格管理 登记源程序中出现的每个名字以及名字的各种属性。有些名字的属性需要在各个阶段才能填入。即编译各阶段的工作都涉及到构造、查找或更新有关的符号表,编译过程的绝大部分时间是用在造表、查表和更新表格的事务上。因此,编译程序中还应包括一个表格管理程序。 编 译 原 理1.2 编译程序的工作过程 ——出错处理 源程序中的错误有语法错误和语义错误两种。 语法错误:源程序中不符合语法(或词法)规则的错误,它们可在词法分析或语法分析时检测出来。 语义错误:源程序中不符合语义规则的错误,一般在语义分析时检测出来,有的语义错误要在运行时才能检测出来。通常包括:说明错误、作用域错误、类型不一致等等。 编 译 原 理 编译程序的结构框图 编 译 原 理1.3 编译程序的生成方法1.对源语言和目标语言认真分析 (1)要熟悉源语言,要正确理解它的语法和语义; (2)要搞清楚目标语言和目标机的性质 从而确定编译程序的结构和所采用的具体策略。2.设计编译算法 着重考虑编译程序具有易读性、易改性和易扩充性 编 译 原 理1.3 编译程序的生成方法3.选择语言编制程序 使用高级语言,可提高开发效率,而且易读、易修改和容易移植。4.调试编译程序 通过调试,不断修改和完善。5.提交相关文档资料 包括源语言的文法、目标机指令系统、编译程序的结构和所采用的具体策略、错误信息表及使用说明等。 编 译 原 理1.4 编译程序的组织形式遍(趟,趟程) 所谓一趟或一遍是指一个编译程序在编译时刻把源程序或源程序的等价物(中间程序)从头到尾扫描一遍并转换成另一紧邻的等价物的全过程。 根据编译程序在完成翻译任务的过程中需要对源程序或其中间等价物扫描的遍数,可以把编译程序分为单遍扫描的编译程序(只需扫描一遍)和多遍扫描的编译程序(需扫描多遍)。 编 译 原 理单遍扫描的编译程序 编 译 原 理1.4 编译程序的组织形式编译的前端和后端 前端主要由与源语言有关但与目标机器无关的那些部分组成,如词法分析、语法分析、语义分析与中间代码生成及部分代码优化工作。 后端主要包括编译中与目标机器有关的那些部分,如与目标机有关的代码优化和目标代码生成等。后端不依赖于源语言而仅依赖于中间语言。 可以通过改变编译程序的后端来实现编译程序的移植。 编 译 原 理小结内容1 什么是编译程序2 编译过程和编译程序的结构3 为什么要学习编译程序重点对编译程序的功能和结构做一综述难点了解编译程序各个成分在编译阶段的逻辑关系以及他们怎样作为一个整体完成编译任务的 编 译 原 理小结1.判断下面的陈述是否正确。(1)编译程序的五个组成部分缺一不可。?(2)高级语言程序到低级语言程序的转换是基于语义的等价变换。(3)含有优化部分的编译程序的执行效率高。(4)因为编译程序和解释程序具有不同的功能,所以它们的实现技术也完全不同。(5)编译程序和解释程序的根本区别在于解释程序对源程序并没有真正进行翻译。(6)无论一遍扫描的编译器还是多遍扫描的编译器都要对源程序扫描一遍。答案:(1)?F ? (2)?T ?(3)?F (4)?F ? (5)?F ? (6) T 编 译 原 理2.计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?3.画出编译程序的总体逻辑结构图,简述各部分的主要功能。 编 译 原 理

文档评论(0)

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

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

1亿VIP精品文档

相关文档