编译原理-第一章44693.ppt

上传人:hyn****60 文档编号:82468492 上传时间:2023-03-25 格式:PPT 页数:9 大小:184KB
返回 下载 相关 举报
编译原理-第一章44693.ppt_第1页
第1页 / 共9页
编译原理-第一章44693.ppt_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《编译原理-第一章44693.ppt》由会员分享,可在线阅读,更多相关《编译原理-第一章44693.ppt(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、11.2 1.2 翻翻译程序程序 只有机器语言编的程序才能被计算机识别并运行,为了能使汇编语言和高级程序设计语言编写的程序被计算机接受,必须将它们转换成具体的机器语言程序。我们将要介绍的汇编程序、解释程序和编译程序就是完成这种转换功能的翻译程序。翻翻译程序程序 将一种语言程序(称为源程序)改造成另一种等价的语言程序(称为目标程序)的程序。源源语言言 书写源程序的语言称为源语言.目目标语言言 书写目标程序的语言称为目标语言.2 汇编程序:把程序:把汇编语言写的源程序翻言写的源程序翻译成机器成机器语言的目言的目标程序,程序,这个翻个翻译过程称程称为汇编。如下。如下图:初始数据初始数据 汇编 源程序

2、源程序 汇编程序程序 目目标程序程序 结果数据果数据 汇编程序程序执行行过程程 汇编程序一般程序一般对源程序源程序进行行两遍两遍扫描来完成。描来完成。第一遍:第一遍:进行存行存贮分配,造出第二遍分配,造出第二遍扫描描时用的各种表格;用的各种表格;第二遍:用机器第二遍:用机器语言操作言操作码来代替来代替汇编符号操作符号操作码。1.2 1.2 翻翻译程序程序 一、一、汇编程序程序 3解解释程序:将高程序:将高级语言写的源程序作言写的源程序作为输入数据,但并不入数据,但并不产生目生目标程序,而是程序,而是边解解释边执行源程序本身的一种程序。如下行源程序本身的一种程序。如下图 源程序源程序 解解 结

3、释 果果 程程 数数 初始数据初始数据 序序 据据解解释程序程序执行行过程程 解解释程序适合于会程序适合于会话型型语言,如言,如BASIC语言。言。主要主要优点:点:1,易于,易于为用用户提供提供调试功能,功能,对源程序的源程序的语法分析及出法分析及出错处理都很及理都很及时,2,修改,修改调试也很方便,但是解也很方便,但是解释程序程序执行速度行速度较慢,运行效率低。慢,运行效率低。1.2 1.2 翻翻译程序程序 二、解二、解释程序程序4编译程序程序是将高是将高级语言写的源程序翻言写的源程序翻译成目成目标语言(言(汇编语言、言、机器机器语言)的程序。言)的程序。这种翻种翻译过程称程称为编译。编译

4、系系统目目标程序,再加上运行系程序,再加上运行系统(如服(如服务子程序、子程序、动态分配分配程序、装配程序等)就可程序、装配程序等)就可获得得计算算结果,整个系果,整个系统称称为编译系系统。1.2 1.2 翻翻译程序程序 三、三、编译程序程序5编译程序程序执行行过程程源程序源程序源程序源程序编译编译程序程序程序程序目目目目标标程序程序程序程序(机器(机器(机器(机器语语言)言)言)言)源程序源程序源程序源程序编译编译程序程序程序程序目目目目标标程序程序程序程序(汇编语汇编语言)言)言)言)汇编汇编程序程序程序程序目目目目标标程序程序程序程序(机器(机器(机器(机器语语言)言)言)言)编译阶编译

5、阶段段段段编译阶编译阶段段段段汇编阶汇编阶段段段段目目目目标标程序程序程序程序(机器(机器(机器(机器语语言)言)言)言)运行系运行系运行系运行系统统可可可可执执行程序行程序行程序行程序结结果数据果数据果数据果数据运行运行运行运行阶阶段段段段6整个整个编译过程如下程如下图所示所示源源程程序序词法法分析分析程序程序语法法分析分析程序程序语义分析分析程序程序中中间代代码生成生成代代码优化化程序程序目目标代代码生成生成目目标程程序序信信 息息 表表 管管 理理 程程 序序错 误 检 查 和和 处 理理 程程 序序 大多情况下,将大多情况下,将语义分析包含在分析包含在语法分析法分析过程中,程中,这样就

6、将就将编译过程程分成分成5个个阶段,事段,事实上,上,这并非固定不并非固定不变的,有的,有时中中间代代码、优化可以省化可以省掉,有掉,有时还要要进行行错误检查和和处理以及各种信息表格的管理。理以及各种信息表格的管理。71.4 1.4 编译过程程简述述 三、趟程(遍)三、趟程(遍)1.定定义从从头到尾到尾扫描一遍源程序或等价源程序,并做有关加工描一遍源程序或等价源程序,并做有关加工处理,理,称趟程。每称趟程。每经过一趟源程序都要一趟源程序都要进行等价行等价变换并更接近目并更接近目标程序。程序。如果通如果通过对源程序一遍源程序一遍扫描直接生成目描直接生成目标代代码程序,程序,则说编译程序是程序是单

7、遍的。遍的。把源程序分把源程序分为几遍来几遍来编译,每遍只完成,每遍只完成编译程序中的一部程序中的一部分或几个部分工作,称分或几个部分工作,称为多遍的。多遍的。比如第一遍比如第一遍进行行词法、法、语法分析,法分析,检查语法法错误;第二遍生;第二遍生成中成中间语言言进行存行存储分配;第三遍生成可运行的目分配;第三遍生成可运行的目标程序。程序。8 源程序源程序 编译程序程序 目目标程序程序 一遍一遍扫描描编译程序程序 源程序源程序 第一遍第一遍扫描程序描程序 中中间语言言1 中中间语言言n-1 第第n趟趟扫描程序描程序 目目标程序程序 多遍多遍扫描描编译程序程序 优点:加工充分;出点:加工充分;出错处理理细致;目致;目标程序程序质量高量高 缺点:缺点:编译时间长,开,开销大大多遍多遍扫描的描的优点点弥弥补了了单遍的缺遍的缺点,点,单遍却避免遍却避免了多遍的缺点了多遍的缺点91.4 1.4 编译过程程简述述三、趟程(遍)三、趟程(遍)2.决定趟程的因素决定趟程的因素(1)计算机存算机存贮容量大小;容量大小;(2)编译程序功能程序功能强弱;弱;(3)源)源语言繁言繁简;(4)目)目标程序程序优化程度;化程度;(5)设计和和实现编译程序程序时使用工具的先使用工具的先进程度程度 (6)参加人)参加人员多少和素多少和素质等等。等等。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁