第1章-编译概述_第1页
第1章-编译概述_第2页
第1章-编译概述_第3页
第1章-编译概述_第4页
第1章-编译概述_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理金成植金英吉林大学计算机科学与技术学院Email: 第一章 编译概述编译器和解释器编译器的功能分解和组织结构编译器的伙伴程序编译器的实现途径编译技术的作用1. 编译器和解释器 程序设计语言的历史 机器语言:能够被计算机的硬件系统直接执行的指令程序。 汇编语言:将硬件指令用一些助记符表示。如ADD表示加法操作,SUB表示减法操作等等 高级语言:使用便于理解的自然语言。1. 编译器和解释器 翻译程序(器):接受某种语言的源语言程序后,将它改造成另一种逻辑上等价的目标语言程序。 汇编程序:源语言为汇编语言,目

2、标语言为机器语 言的翻译程序。编译程序(器) 编译程序(器):源语言为高级语言,目标语言是 语言(汇编或机器语言)的翻译程序。高级语言程序(源程序)语言程序(目标程序)1. 编译器和解释器 解释程序(器):是语言的另一种实现方式。接受所输入的用程序语言(源语言)编写的程序(源程序),然后直接解释执行源程序。相当于源程序的抽象执行机。解释程序(器)高级语言程序(源程序)数据计算结果1. 编译器和解释器 编译器和解释器的比较编译器解释器程序规模规模较大中小规模内部形式机器代码( )数据结构(高级)运行机构硬件CPU软件系统运行速度相对较快相对较慢2. 编译器的功能分解和组织结构表 处 理词语语中中

3、目源法法义间间标目程分分分代代代标序析析析码生成码优化码生成程序错 误 处 理2. 编译器的功能分解和组织结构编译器的前端:一般包括词法分析、语法分析、符号表构造、语义分析、中间代码生成、代码 优化和错误处理等。此部分工作的特点是不依 赖于具体机器。 编译器的后端:主要是指中间代码到目标代码生成的阶段。此部分紧密地依赖于中间代码和目标机 遍:对源程序或源程序的中间表示形式从头到尾扫描一次,生成新的中间结果或目标程序3. 编译器的伙伴程序 编辑器 (editor)除一般的文本编辑功能外, 还可以对正在编辑的文本进行分析、提示、自动提供关键字匹配等功能。 预处理器(preprocessor)删除源

4、程序中的注释、执行宏替换以及包含文件的嵌入等。 连接程序(linker)将不同的目标文件连接到一个可执行的文件中。 装入程序(loader)将程序加载到内存中,以便执行。 调试程序(debugger)在被编译的程序中判定执行错误的程序预处理器高需预处理的源程序级语言程源程序编译程序序到可执行目标汇编程序汇编程序代码的转换可重定位的目标代码连接/装配程序过程绝对目标代码4. 编译器的实现途径 预处理方法用于语言的扩充。设已有L语言的编译器,其扩充语言L1的编译器可通过语言转换程序将L1程序转换为L程序,利用L的编译器,从而实现L1的编译器。 移植法同一语言的编译器在不同机器间的移植。方法:a 目标代码的转换b 修改中间代码到目标代码的转换 自展法自我扩展,自己编写自己的编译器。 工具法利用编译阶段各个部分的自动生成工具自动生成。 理论法利用形式化描述理论,实现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论