欢迎来到天天文库
浏览记录
ID:15560354
大小:191.50 KB
页数:12页
时间:2018-08-04
《编译原理讨论课报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、燕山大学编译原理课程讨论课报告题目:编译技术的过去现在未来(第12组)学院信息学院年级专业12计算机科学与技术学生姓名朱禹铭应用2班、所完成工作量20张浩楠应用2班、所完成工作量20王毅龙应用2班所完成工作量15史万春应用2班所完成工作量15甄晓德应用2班所完成工作量10张政应用2班所完成工作量10池辰应用2班所完成工作量10指导教师张世辉报告日期2014年11月20日我们的讨论课的题目是编译技术的过去、现在和将来。其中又有3个小题目分别是(1)早期的编译技术(2)目前流行的编译技术(3)未来的编译技术。接下来我们的报告也将分为这三方
2、面进行。一丶编译技术的过去编译技术的过去主要分成三部分,首先是编译技术出现的必要性,几种当时的编译原理和编译器的发展。我们将编译器的发展作为了主要部分。并且附加上国内的编译器发展。1.编译技术出现的必要性在20世纪40年代,由于冯·诺伊曼在存储-程序计算机方面的先锋作用,编写一串代码或程序已成必要,这样计算机就可以执行所需的计算。开始时,这些程序都是用机器语言(machinelanguage)编写的。机器语言就是表示机器实际操作的数字代码,例如:C70600000002表示在IBMPC上使用的Intel8x86处理器将数字2移至地址0
3、000(16进制)的指令。但编写这样的代码是十分费时和乏味的,这种代码形式很快就被汇编语言(assemblylanguage)代替了。在汇编语言中,都是以符号形式给出指令和存储地址的。例如,汇编语言指令MOVX,2就与前面的机器指令等价(假设符号存储地址X是0000)。汇编程序(assembler)将汇编语言的符号代码和存储地址翻译成与机器语言相对应的数字代码。汇编语言大大提高了编程的速度和准确度,人们至今仍在使用着它,在编码需要极快的速度和极高的简洁程度时尤为如此。但是,汇编语言也有许多缺点:编写起来也不容易,阅读和理解很难;而且汇
4、编语言的编写严格依赖于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必须完全重写。发展编程技术的下一个重要步骤就是以一个更类似于数学定义或自然语言的简洁形式来编写程序的操作,它应与任何机器都无关,而且也可由一个程序翻译为可执行的代码。例如,前面的汇编语言代码可以写成一个简洁的与机器无关的形式x=2。第一个编译程序的出现是在20世纪50年代早期,很难讲出确切的时间,因为当初大量的实验和实现工作是由不同的小组独立完成的,多数早期的编译工作是将算术公式翻译成机器代码。用现在的标准来衡量,当时的编译程序能完成的工作十分初步,如只
5、允许简单的单目运算,数据元素的命名方式有很多限制。然而它们奠定了对高级语言编译系统的研究和开发的基础。20世纪50年代中期出现了FORTRAN等一批高级语言,相应的一批编译系统开发成功。随着编译技术的发展和社会对编译程序需求的不断增长,20世纪50年代末有人开始研究编译程序的自动生成工具,提出并研制编译程序的编译程序。它的功能是以任一语言的词法规则、语法规则和语义解释出发,自动产生该语言的编译程序。20世纪60年代起,不断有人使用自展技术来构造编译程序。自展的主要特征是用被编译的语言来书写该语言自身的编译程序。1971年,PASCAL
6、的编译程序用自展技术生成后,其影响就越来越大。在70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。1.几种当时流行的编译语言1)Fortran语言Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言。它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。Fortran90之前的版
7、本是人们所知晓的FORTRAN(全部字母大写),从Fortran90以及以后的版本都写成Fortran(仅有第一个字母大写)。Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。易学,语法严谨。可以直接对矩阵和复数进行运算,这一点类似MATLAB。自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序。很多专用的大型数值运算计算机针对Fortran做了优化。广泛地应用于并行计算和高性能计算领域。Fortran90,Fortran95,Fortran2003的相继推出使Fortran语言具备了现
8、代高级编程语言的一些特性。2)Pascal语言Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。 以法国数学家命名的Pascal语言现已成为使用最广泛的基于DO
此文档下载收益归作者所有