【编译原理课件】 引论.pptVIP

  1. 1、本文档共40页,可阅读全部内容。
  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文档。上传文档
查看更多
【编译原理课件】 引论

* T型图 S T I 源语言 目标语言 编译程序实现语言 含义 S语言 源程序 I语言实现 编译程序 T语言 目标程序 * 编译程序设计举例 已知 A机器上C语 言编译程序 C A A C语言 编译程序 要求 用C语言编写PASCAL语 言A机器编译程序 PL A A PASCAL语言编译程序最初用C语言编写 PL A C C语言编写的 PASCAL语言编译程序 C A A A PL A 所求PASCAL语言编译程序 * 编译程序设计 L1 A A 已知 A机器上有L1 语言编译程序 要求 用L1语言编写L2语言 的A机器编译程序 L2 A A L2 A L1 L1 A A L2 A A 所求L2语言 编译程序 * PC机器上C语言编译程序自展设计 实现目标 C PC PC 步骤1 (1)先对C语言核心部分C1构造 PC编译程序,用低级语言实现 C1 PC PC (2) 再用C1编写含C更多语 言成分的C2的PC编译程序 C2 PC C1 (3) 最后用C2编写 C语言的PC编译程序 C PC C2 其中 C1是C2的子集,C2是C的子集 * PC机器上C语言编译程序自展设计 实现目标 C PC PC 步骤2 构造C2的PC编译程序 C2 PC C1 C1 PC PC C2 PC PC 步骤3 构造C的PC编译程序 C PC C2 C2 PC PC C PC PC 合并步骤2,3 C2 PC C1 C1 PC PC ① ② ③ ④ ⑤ * L语言编译程序移植设计 已知 A机器 高级语言L编译程序 要求 B机器 高级语言L的编译程序 已知 L A A 实现目标 L B B ① L A A ② L B L 用L语言编写的 L→B的编译程序 ③ L B A 用A机器语言 实现的L→B 的编译程序 ④ L B L 用L语言编写的L→B编译程序 翻译 ⑤ L B B 用B机器语言实现的L→B的编译程序 章节目录 * 编译程序的分类 p1 诊断型编译程序(Diagnostic Compiler) 专门用于帮助程序开发和调试 着重提高目标代码效率 优化型编译程序(Optimizing Compiler) 提供调试、优化等功能,用户进行选择使用 交叉型编译程序(Cross Compiler) 产生不同于其宿主机的目标机机器代码 运行编译程序的机器 运行所产生目标代码的 机器 可变目标型编译程序(Retargetable Compiler) 不需重写编译程序中与机器无关的部分就能改变目标机 章节目录 * 本章练习 1、编译程序的结构可以分成以下7个模块: 、 、语义分析和中间代码产生器、 、 、表格管理和 。 2、高级程序设计语言的执行主要有两种方式: 和 ,二者的根本区别在于 。 3、编译程序决大多数时间是花在 方面。 (A) 词法分析 (B) 语法分析 (C) 语义分析 (D) 代码生成 (E)中间代码生成 (F)代码优化 (G)表格管理 (H)出错管理 词法分析器 语法分析器 优化器 目标代码生成器 出错管理 解释 翻译 是否生成目标程序 * 本章练习(续) 答:遍是对源程序或源程序的中间表示从头到尾地扫描一次,并做相关的处理工作,生成新的源程序的中间形式或目标文件。 并非所有的语言都能通过一遍扫描完成编译。如果该语言结构复杂,那么必须通过多次扫描才能真正完成编译工作。 影响编译遍的次数的主要因素有: ? 源语言;? 机器(目标机);? 编译方法。 4、什么是遍?是否任何一种高级语言都能通过一遍扫描完成编译? 章节目录 * 作 业 p11 1 2 3 4 章节目录 * * 第一章 引论 1.1 编译程序和解释程序 1.2 编译过程和编译程序的结构(重点) 1.2.1 编译过程概述 1.2.2 编译程序结构 1.2.3 编译阶段的组合 1.3 编译程序在其他软件中的应用 1.4 程序设计语言范型 1.5 编译程序实现途径(可略) 本章练习 作业 课程目录 * 1.1 什么是编译程序 p1

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档