编译原理 第七章(精品·公开课件).pptVIP

  • 1
  • 0
  • 约1.2千字
  • 约 9页
  • 2018-11-05 发布于广西
  • 举报
电子科技大学计算机科学与工程学院 程序设计语言与编译 电子科技大学计算机科学与工程学院 第七章 编译概述 主要内容 1.编译的一些基本概念 2.编译步骤 电子科技大学计算机科学与工程学院 第一节 不同语言的翻译 翻译:将一种语言编写的程序转换成完全等效的另一种语言编写的程序的过程称为翻译(translate);在计算机中,翻译由一个程序来实现,称为翻译程序(translator); 源程序 翻译程序 目标程序 一.基本概念 编译程序: 高级语言?低级语言 汇编程序: 汇编语言?机器语言 电子科技大学计算机科学与工程学院 宿主语言:编写编译程序的语言称为宿主语言; 源语言、目标语言、宿主语言通常是不同的语言; 宿主机:运行翻译程序的机器 自驻留: 编译程序能生成可供其宿主机执行的机器代码 自编译: 编译程序是用源语言写的 交叉编译: 编译程序生成的不是宿主机的机器代码,而是别的机器代码 电子科技大学计算机科学与工程学院 二.两种运行方式 1.编译执行 源程序 编译程序 目标程序 初始数据 目标程序 运行库 结果 源程序 目标程序 计算结果 汇编语言程序 目标程序 编译 编译 运行 汇编程序 初始数据 电子科技大学计算机科学与工程学院 2.解释执行 解释:不将源程序翻译成目标程序,而是一边分析,一边执行,这种翻译方法称为解释。 实现解释的程序,称为解释程序。 1.特别适合于动态语言和交互式环境,便于人机对话 2.解释器边解释边执行,重复执行的程序需要重复翻译,比编译执行花费更多时间,执行效率低; 优缺点: 源程序 解释程序 计算结果 初始数据 1. 词法分析: 输入字符串,根据词法规则识别出单词符号。 2. 语法分析: 根据语法规则,将单词符号构成各类语法单位,并进行语法检查。 3. 语义分析: 根据语义规则,进行初步编译。 第二节 编译步骤 4. 优化:对中间代码进行等价变换,以使代码更有效。 5. 目标代码生成:生成机器语言程序或汇编语言程序。 说明: (1)实用的编译程序不一定总是分成5个阶段 (2)目标程序不一定能立即执行,可能还要经过连接、装入等阶段 (3)编译的各阶段均需要和符号表管理程序、出错处理程序打交道 6. 符号表管理:完成符号表的建立,查找,更新。 7. 出错处理:发现、指出、限制 源程序字符串 词法分析器 语法分析器 语义分析器 代码优化器 目标代码生成器 单词流 语法树 中间代码序列 中间代码序列 目标程序 符 号 表 管 理 程 序 出 错 处 理 程 序 …… * * * * * * * * * 电子科技大学计算机科学与工程学院 程序设计语言与编译 * * * * * * * * *

文档评论(0)

1亿VIP精品文档

相关文档