编译技术发展综述演示教学.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译技术发展综述 计算机科学与软件学院 计算机1302蔡元昊1311611517 引言:编译程序构造的原理和技术一直属于最近公布的核心知识领域, 已成 为计算机科学必备的专业基础知识。而且编译程序的构造是计算机科学中一个非 常成功的分支,也是最早获得成功的分支之一,他所建立的理论和技术方法值得 人们深入研究和学习。 摘要:编译程序是计算机的核心系统之一,是掌握计算机理论和软件技术的 关键知识,编译原理合计数为人们理解计算机语言。创造优秀的软件奠定了理论 基础。扩展了视野,开辟了捷径。编译原理和技术可以应用在其他诸如软件建模 语言、硬件描述语言。脚本语言等的翻译方面:在集成化软件开发环境以及软件 安全一直有着广泛的应用。而且,编译原理的研究有力的推动了计算机科学、 计 算机工程、软件开发以及人机工程的研究和发展。 编译原理是计算机专业的一门 重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文 法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化 和目标代码生成。 一、早期编译技术的发展 编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序 (source Ianguage 编写的程序作为输入,而产生用目标语言(target Ianguage) 编写的等价程序。通常地,源程序为高级语言(high-level language),女口 C或 C + +,而目标语言则是目标机器的目标代码 (object code,有时也称作机器代 码(machine code)),也就是写在计算机机器指令中的用于运行的代码。这一 过程可以表示为: 源程序-编译器 一目标程序 在20世纪40年代,由于冯?诺伊曼在存储-程序计算机方面的先锋作用,编写 一串代码或程序已成必要,这样计算机就可以执行所需的计算。 开始时,这些程 序都是用机器语言 (machine Ianguage)编写的。机器语言就是表示机器实际操 作的数字代码,例如:C7 06 0000 0002表示在IBM PC上使用的In tel 8x86处理 器将数字2移至地址0 0 0 0 ( 16进制)的指令。 但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言 (assembly Ianguage代替了。在汇编语言中,都是以符号形式给出指令和存储 地址的。例如,汇编语言指令 MOV X,2就与前面的机器指令等价(假设符号存 储地址X是0 0 0 0 )。汇编程序(assembler)将汇编语言的符号代码和存储地 址翻译成与机器语言相对应的数字代码。 汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需 要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编 写起来也不容易,阅读和理解很难;而且汇编语言的编写严格依赖于特定的机器, 所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。 发展编 程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式 来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行 的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式 x = 2 第一个编译程序的出现是在20世纪50年代早期,多数早期的编译工作是将 算术公式翻译成机器代码。用现在的标准来衡量,当时的编译程序能完成的工作 十分初步,如只允许简单的单目运算,数据元素的命名方式有很多限制。 然而它 们奠定了对高级语言编译系统的研究和开发的基础。 20世纪50年代中期出现了 FORTRAN等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发 展和社会对编译程序需求的不断增长,20世纪50年代末有人开始研究编译程序 的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词 法规则、语法规则和语义解释出发,自动产生该语言的编译程序。目前很多自动 生成工具已广泛使用,如词法分析程序的生成系统 LEX,语法分析程序的生成 系统YACC等。20世纪60年代起,不断有人使用自展技术来构造编译程序。自 展的主要特征是用被编译的语言来书写该语言自身的编译程序。 1971年, PASCAL的编译程序用自展技术生成后,其影响就越来越大。 随着并行技术和并行语言的发展,处理并行语言的并行编译技术,将串行程序转 换成并行程序的自动并行编译技术也正在深入研究之中。 另外嵌入式应用迅速 增长的需求,推动了交叉编译技术的发展?还有系统芯片设计方法和关键EDA技 术的研究,也带动了专用语言 VHDL等及其编译技术的不断深化。 在70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动 化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作 太复杂而人们

文档评论(0)

136****3783 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档