当前位置:首页 » 编程软件 » 编译器被删除了吗

编译器被删除了吗

发布时间: 2023-06-06 04:50:20

编译器的历史

20世纪50年代,IBM的John Backus带领一个研究小组对FORTRAN语言及其编译器进行开发。但由于当时人们对编译理论了解不多,开发工作变得既复杂又艰苦。与此同时,Noam Chomsky开始了他对自然语言结构的研究。他的发现最终使得编译器的结构异常简单,甚至还带有了一些自动化。Chomsky的研究导致了根据语言文法的难易程度以及识别它们所需要的算法来对语言分类。正如Chomsky架构(Chomsky Hierarchy),它包括了文法的四个层次:0型文法、1型文法、2型文法和3型文法,且其中的每一个都是其前者的特殊情况。2型文法(或上下文无关文法)被证明是程序设计语言中最有用的,而且今天它已代表着程序设计语言结构的标准方式。分析问题(parsing problem,用于上下文无关文法识别的有效算法)的研究是在60年代和70年代,它相当完善的解决了这个问题。它已是编译原理中的一个标准部分。
有限状态自动机(Finite Automation)和正则表达式(Regular Expression)同上下文无关文法紧密相关,它们与Chomsky的3型文法相对应。对它们的研究与Chomsky的研究几乎同时开始,并且引出了表示程序设计语言的单词的符号方式。
人们接着又深化了生成有效目标代码的方法,这就是最初的编译器,它们被一直使用至今。人们通常将其称为优化技术(Optimization Technique),但因其从未真正地得到过被优化了的目标代码而仅仅改进了它的有效性,因此实际上应称作代码改进技术(Code Improvement Technique)。
当分析问题变得好懂起来时,人们就在开发程序上花费了很大的功夫来研究这一部分的编译器自动构造。这些程序最初被称为编译器的编译器(Compiler-compiler),但更确切地应称为分析程序生成器(Parser Generator),这是因为它们仅仅能够自动处理编译的一部分。这些程序中最着名的是Yacc(Yet Another Compiler-compiler),它是由Steve Johnson在1975年为Unix系统编写的。类似的,有限状态自动机的研究也发展了一种称为扫描程序生成器(Scanner Generator)的工具,Lex(与Yacc同时,由Mike Lesk为Unix系统开发)是这其中的佼佼者。
在20世纪70年代后期和80年代早期,大量的项目都贯注于编译器其它部分的生成自动化,这其中就包括了代码生成。这些尝试并未取得多少成功,这大概是因为操作太复杂而人们又对其不甚了解。
编译器设计最近的发展包括:首先,编译器包括了更加复杂算法的应用程序它用于推断或简化程序中的信息;这又与更为复杂的程序设计语言的发展结合在一起。其中典型的有用于函数语言编译的Hindley-Milner类型检查的统一算法。其次,编译器已越来越成为基于窗口的交互开发环境(Interactive Development Environment,IDE)的一部分,它包括了编辑器、连接程序、调试程序以及项目管理程序。这样的IDE标准并没有多少,但是对标准的窗口环境进行开发已成为方向。另一方面,尽管在编译原理领域进行了大量的研究,但是基本的编译器设计原理在近20年中都没有多大的改变,它正迅速地成为计算机科学课程中的中心环节。
在20世纪90年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。这些工具可用来编译所有的计算机程序语言。它们中的一些项目被认为是高质量的,而且对现代编译理论感兴趣的人可以很容易的得到它们的免费源代码。
大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64。Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。
编译器相关专业术语: 1. compiler编译器;编译程序 2. on-line compiler 连线编译器 3. precompiler 预编译器 4. serial compiler 串行编译器 5. system-specific compiler 特殊系统编译器 6. Information Presentation Facility Compiler 信息展示设施编译器 7. Compiler Monitor System 编译器监视系统

㈡ 误删了C盘Windows下的SDK文件夹,vs2013可以使用,matlab找不到vs编译器

现在用的电脑多数是WIN64位机,但是在安装MATLAB2011a时并不能顺利安装编译器这是应为在64位机上安装MATLAB时并没有安装编译器。因此就带来不能使用m文件等一系列问题。那么就需要手动安装,但是网上的手动安装教程都是残缺不全的。介绍的最详细的是国外的mathworks网站。下边具体详述其操作步骤。步骤一:对于MATLAB7.12,对于64位机来说,VisualC++2010Express和SDK7.1都需要安装。如果不知道Windows中是否安装了上述软件,就假设你已经安装,并进行一下步骤。步骤二:为了避免错误,如果你既没有安装VisualC++2010也没有安装SDK7.1,那么可以进行如下步骤:1.安装SDK7.1,如果安装失败按照步骤三进行,然后再回到本步骤二的3.2.到参考资料的1网站下载文件包,SDK7.1.3.安装VisualC++2010orSDK7.1。步骤三:如果你已经安装了VisualC++2010ExpressSP1而没有安装SDK7.1,按照如下步骤进行:1.卸载VisualC++2010Redistributable,x64和x86版都要卸载。这个可以从控制面板卸载程序卸载。2.安装SDK7.1,在安装SDK7.1是确保取消VisualC++Compilers和MicrosoftVisualC++2010选框。3.至参考资料网站1下载SDK7.1安装包。4.重新安装VisualC++2010Redistributablepackages。步骤四:如果连个文件包都安装后,在编译期间仍然出现错误,那么就需要安装SDK7.11.至相关网站下载Windows7和.NETFramework4.下载完成后安装。注意事项:如果有外语知识按照参考资料中的网站1完成不成问题,但是有写不同。1.在安装时可以将SDK“winsdk_web.exe”安装时路径改为“MicrosoftVisualStudio10.0”文件夹下。2.重新启动MATLAB。

热点内容
安卓手机如何打开7x文件 发布:2025-02-12 09:43:02 浏览:485
c语言等号 发布:2025-02-12 09:39:02 浏览:169
ug编程培训要多少钱 发布:2025-02-12 09:38:27 浏览:620
小黄车的密码怎么打开 发布:2025-02-12 09:38:26 浏览:70
存储时4k 发布:2025-02-12 09:33:31 浏览:87
stn数据库 发布:2025-02-12 09:32:31 浏览:602
iossocket编程 发布:2025-02-12 09:32:20 浏览:899
sql语句相等 发布:2025-02-12 09:32:19 浏览:351
278源码 发布:2025-02-12 09:22:40 浏览:248
13人牛牛源码 发布:2025-02-12 09:22:40 浏览:155