1编译技术概述资料.ppt

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

4. 代码优化 代码优化的任务是对前阶段产生的中间代码进行等价变换或改造,以期获得更为高效即省时间和空间的目标代码。优化主要包括局部优化和循环优化等,例如上述四元式经局部优化后得: (1) ( *, 6.28, r, T2 ) (2) ( +, h, r, T3 ) (3) ( *, T2, T3, T4 ) (4) ( =, T4, __, s ) 5.目标代码生成 目标代码生成的任务是将中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。 表格管理和错误处理 编译程序在工作过程中需要建立一些表格,以登记源程序中所提供的或在编译过程中所产生的一些信息,编译各个阶段的工作都涉及到构造、查找、修改或存取有关表格中的信息,因此,在编译程序中必须有一组管理各种表格的程序。 在编译程序的各个阶段中,都要涉及表格管理和错误处理。 表格管理和错误处理 一个好的编译程序在编译过程中,应具有广泛的程序查错能力,并能准确地报告错误的种类及出错位置,以便用户查找和纠正,因此,在编译程序中还必须有一个出错处理程序。 编译程序的结构 源程序 语义分析和中间代码生成程序 语法分析程序 词法分析程序 代码优化程序 目标代码生成程序 目标程序 表 格 管 理 程 序 出 错 处 理 程 序 ( 字符串) 上述五个阶段是编译程序的五个主要功能,设计编译程序可按不同的执行流程来组织上述工作。 一个编译过程可分为一遍、两遍或多遍完成,每一遍完成所规定的任务。 编译程序的分遍: “遍”是指编译程序对源程序或其等价的中间语言程序从头到尾扫描一遍,并完成规定任务的过程。 分多遍完成编译过程可以使整个编译程序的逻辑结构清晰,但会增加读写中间文件的次数,从而消耗过多的时间。 例如,分3遍完成 第一遍只完成词法分析的任务, 第二遍完成语法分析和语义加工工作并生成中间代码, 第三遍再实现代码优化和目标代码生成。 条件允许可一遍完成整个翻译工作。 1.3 编译程序的生成方法 对源语言和目标语言认真分析 设计编译算法 选择语言编制程序 调试编译程序 提交相关文档资料 编译程序是一个复杂的系统程序,要生成一个编译程序一般要考虑以下几方面: 编译程序的生成方法 1.自编译:用某种高级语言书写自己的编译程序称为自编译。 2.交叉编译:是指用A机器上的编译程序来产生可在B机器上运行的目标代码。 3.移植:是指A机器上的某种高级语言的编译程序稍加改动后在B机器上运行。 4.自展 确定一个非常简单的核心语言L0,然后用机器语言或汇编语言书写它的编译程序T0, 再把语言L0扩充到L1,并用L0编写L1的编译程序T1(即自编译), 这样不断扩展下去,直到完成所要求的编译程序为止。 5. 并行编译技术 编译程序的自动生成 词法分析程序自动生成系统LEX 语法分析程序自动生成系统YACC 随着编译技术和自动机理论的发展, 近年来已研制出了一些编译程序的自动生成系统。 编译程序产生器:自动产生整个编译程序的软件工具 将任一语言的词法规则、语法规则和语义解释的描述作为输入,自动生成该语言的编译程序。 编译程序的自动生成 1.4 编译技术在软件开发中的应用 虽然我们只有少数人从事构造或维护程序语言编译程序的工作,但是,大部分系统软件和应用软件的开发,通常要用到编译的原理和技术。 1.4 编译技术在软件开发中的应用 设计词法分析器的串匹配技术已用于正文编辑器、信息检索系统和模式识别程序; 上下文无关文法和语法制导定义已用于创建诸如排版、绘图系统和语言结构化编辑器中; 代码优化技术已用于程序验证器和从非结构化的程序产生结构化程序的编程之中。 本章小结 什么是编译程序 编译过程的五个阶段 编译程序的结构框图 编译程序是一种翻译程序,它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。 词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成 本章小结 源程序 语义分析和中间代码生成程序 语法分析程序 词法分析程序 代码优化程序 目标代码生成程序 目标程序 表 格 管 理 程 序 出 错 处 理 程 序 ( 字符串) * * * 高

文档评论(0)

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

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

1亿VIP精品文档

相关文档