网站大量收购独家精品文档,联系QQ:2885784924

compiler_slide_ch1.pdf

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
compiler_slide_ch1

第 1 页 Compiler ? 编译程序是语言处理系统; 编译程序是将高级语言翻译成机器语言的程序; 人、机交互的工具; …… 定义1.1 : 将某一种程序设计语言写的程序翻译成等 价的另一种语言的程序的程序, 称之为编译程 序(compiler) 。 第一章 编译引论 1.1 程序设计语言与编译程序 第 2 页 源语言: (source language) 源语言是用来编写源程序的语言, 一般是汇编语 言或高级程序设计语言。 源程序: (source program) 用源语言写的程序称为源程序。 目标语言:(target language) 目标程序的描述语言称为目标语言。 第一章 编译引论 1.1 程序设计语言与编译程序 第 3 页 宿主语言: 编译程序的实现语言。 宿主机(目标机): 编译程序的运行环境。 目标程序:(target program) 源程序经过编译后生成的程序称之为目标程序。 第一章 编译引论 1.1 程序设计语言与编译程序 第 4 页 ( 3 ) 用户直接关心的工具。 ( 2 ) 软件学科的重要分支,系统软件的重要组成部分; ( 1 ) 人、机交互的基本界面; Compiler源程序 目标程序 等价变换 作 用 地 位 第一章 编译引论 1.1 程序设计语言与编译程序 第 5 页 一. 编译程序的分类与执行 编译程序 解释程序 编译程序 汇编程序 解释程序:接受某语言的源程序将其直接翻译成目标 代码且执行。 编译程序:接受某语言的源程序将其直接翻译成等价 的目标代码,然后执行且允许重复执行。 汇编程序:接受汇编源程序将其翻译成等价的机器语 言的目标程序,然后执行且允许重复执行。 第一章 编译引论 1.2 程序设计语言与编译程序 第 6 页 解释执行: 编译执行: 结果 Compiler源程序 目标程序 computer 运行程序 computer 数据 解释程序源程序 computer 结果 Step 1 Step 2 第一章 编译引论 1.2 程序设计语言与编译程序 第 7 页 编译执行和解释执行的区别: 编译执行是由编译程序生成一个与源程序等价 的目标程序,它可以完全取代源程序,该目标程序 可以运行任意次。 解释执行不生成目标程序,仅是对源程序逐句 解释逐句执行。 编译执行类似于自然语言的笔译;解释执行类似 自然语言的口译。 第一章 编译引论 1.2 程序设计语言与编译程序 第 8 页 二. 编译程序的表示 1. 函数表示 : T = C(S) T: 目标程序 C: 编译程序 S: 源程序 2. T型图表示 (体现编译程序的三个要素) 源语言 目标语言 宿主 语言 C源 目宿 3)符号表示 第一章 编译引论 1.2 程序设计语言与编译程序 第 9 页 T型图的左上角表示源语言,右上角 表示目标语言,而其底部表示实现语言。 第一章 编译引论 1.2 编译程序的表示与分类 C C L L A AB B T型图联立表示 (例参见P3) L 第 10 页 例1.1 : 将A机器上已经存在的L语言的编译程 序移植到B机器上。 L L BStep1: Step2: L B L L A A L B A L B L L B A L B B Step3: 第一章 编译引论 1.2 编译程序的表示与分类 第 11 页 表 格 管 理 源 词 语 语 中 代 代 程 法 法 义 间生 码 码 目 标 分 分 处 代成 优 生 序 析 析 理 码 化 成 程 序 出 错 处 理 front end back end ( 分析 ) (综合) 编译程序的逻辑结构 (经典划分) 第一章 编译引论 1.3 编译程序的结构与组织 第 12 页 1. 词法分析 (lexical analysis) 词法分析阶段的任务是对输入的符号串形式的源程序 进行最初的加工处理。 它依次扫描读入的源程序中的每个 字符,识别出源程序中有独立意义的源语言单词,用某种特 定的数据结构对它的属性予以表示和标注。词法分析实际 上是一种线性分析。属性字的数据结构可据不同语言及编 译程序实现方案来设计, 但一般设计成单词属性标识及单 词内码两个数据项。 Scanner 源程序L 属性字流L1 第一章 编译引论 1.3 编译程序的结构与组织 第 13 页 例1.1: 有如下C代码行 : a[index] = 12 * 3 ; 经词法分析后将产生对9个识别的单词, 如下属性标注: ( 1 ) a 标识符 ( 2 ) [ 左方括

文档评论(0)

l215322 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档