第一章 编译程序基本概念.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  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文档。上传文档
查看更多
编 译 原 理 如何让计算机 认识、理解 和 执行 高级程序设计语言 ? 2010年9月 第1章??? 关于编译程序的基本概念 ※ 计算机中语言的层次体系: 1.1 什么是 编译程序? 编译程序(compiler)是一种翻译程序, 它特指把某种高级程序设计语言翻译成具 体计算机上的低级程序设计语言。 ※ 什么是 解释程序? 解释程序(interpreter)也是一种翻译程序,将某高 级语翻译成具体计算机上的低级程序设计语言;解释程序 的执行过成如图1.3 所示。 1.2 编译程序结构 ※ 编译程序与机器翻译的类比 : 1.3 编译程序的实现机制 1.4 编译过程实例 例:Pascal程序片段 : ⒈ 词法分析:识别单词并分类 2. 语法分析: 组词成句及语法错误检查 例: b := a + 2 * 5 的分析过程如下所示: ( 生成的结果是一棵 语法树 ) 3.语义分析:分析各种语法成分的语义特征; 构建标识符的语义辞典---符号表: 构造语句的语义树---中间语言; 4.?优化 :提高目标程序质量的工作 ; 5.?目标代码生成 : 产生计算机可识别的语言 ; 通常,是把中间语言转换成目标代码, 编译程序的理论基础 【习题1.1 】 【习题1.1】什么是编译程序?什么是解释程序?二者的区别? 【习题1.2】叙述编译程序的逻辑结构和实现机制。 谢谢收看! * * 关 于: 课程名称: 编译原理、编译方法、编译技术。… 课程地位: 课程特点: 操作系统、编译系统和数据库系统 计算机中三大系统软件. ⒈ 知识性— 形式语言和自动机作为本课程的两大理论基础;二者也具有典型的应用技术; ⒉ 系统性— 从词法、句法、语义直到目标生成,构成了语言翻译的完整体系; ⒊ 趣味性— 关于语言处理的一些经典算法和实现技术,可以享受获取软件设计方法的乐趣。 ⒋ 应用性— 编译技术可广泛应用于文本编辑、信息检索、模式识别以及机器翻译等各个领域。 内容提要: 1.1 什么是编译程序? 1.2 编译程序逻辑结构 1.3 编译程序实现机制 1.4 编程过程实例分析 Ⅲ. Ⅱ. Ⅰ. 解释程序 图 1.1 计算机中语言的层次体系 高级语言1 编译程序2 反汇编程序 汇编程序 汇编语言 机器语言 计算机 反编译程序 转换程序 高级语言2 编译程序1 高级语言的执行过程 --- 源语言 编译程序 目标语言 数据 结果 运行程序 编译阶段 运行阶段 图 1.2 高级语言的执行过程 两个阶段: 编译程序与解释程序的主要区别: 数据 结果 解释程序 图 1.3 解释程序的执行过程 一条源语句 ⑴ 前者有目标程序而后者无目标程序; ⑵ 前者运行效率高而后者便于人机对话。 词法 分析 语法 分析 语义 分析 代码 生成 源 语言 目标语言 错 误 处 理 符 号 表 管 理 图 1.4 编 译 程 序 总 体 结 构 框 图 优化 处理 编译程序总体结构如图1.4所示。 编译程序的五个阶段: 单词串TOKEN 词法 分析 源 语言 语法 分析 语义 分析 优化 处理 代码 生成 目标语言 优化 语义树 错 误 处 理 符 号 表 管 理 语法树 语义树 【例1.1】我们用树叶和颜料能够制作美丽的图画。 【机器翻译】是指利用计算机把一种自然语言翻译成另一种自然语言。 翻译过程 Ⅰ. 词法分析: r( ) p( ) n( ) c( ) n( ) u( ) v( ) a( ) n( ). Ⅱ. 句法分析: 汉英辞典 与知识库 We can make beautiful pictures with leaves and paint. Sp Sbj Prd r u v Obj Pp Vp Np a n p Np n c n Ⅲ. 语义分析: 制作(make) 施事 我们(we) 受事 图画(pictures) 特征 美丽(beautiful) 材料 树叶(leaves) 并列 颜料(paint) 格标 用(with) Ⅳ. 优化处理:… Ⅴ. 目标生成: 语义网 语法树 根据语言和环境的不同,编译程序实现时是把 图1.2 中的各阶段划分成若干遍; 遍:编译程序对源程序或等价程序从头至尾扫描的次数。 两遍 的编译程序: 第一遍 :词法分析 、语法分析和语义分析; 第二遍 :目标代码生成和目标代码优化。 每遍中的各阶段的工作是穿插进行的, 例如:

文档评论(0)

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

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

1亿VIP精品文档

相关文档