当前位置:首页 » 编程软件 » 不属于编译程序组成的部分是什么

不属于编译程序组成的部分是什么

发布时间: 2024-05-05 19:05:34

㈠ 一个编译程序有几部分构成

作为一个功能完整、且强大的编译器,一般来说包括如下几个部分:词法分析、语法分析、语义分析(因为语法上正确的,但是语义不一定正确。例如:老虎吃人、人吃老虎,语法是正确的,都是主谓宾格式,且词性相同,但是从语义分析上讲就是错误的)、中间代码生成、直到生成可执行程序。

编程语言有几种,分别都是编什么程序的

计算机语言孙培的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。


电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。


计算机所能识别的语言只有机器语言,即由0和1构成的代码。但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。


目前通用的编程语言有两种形式:汇编语言和高级语言。


汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。


高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。


高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。


高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:


解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。


编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须则笑唯先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如VisualC++、VisualFoxpro、Delphi等。


[NextPage]


学习编程,从何入手


如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!

==============================================

方案一Basic语言&VisualBasic


优点

(1)Basic简单易学,很容易上手。

(2)VisualBasic提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。

(3)众多的控件让编程变得象垒积木一样简单。

(4)VisualBasic的全部汉化让我们这些见了English就头大的人喜不自禁。


缺点

(1)VisualBasic不是真正的面向对象的开发文具。

(2)VisualBasic的数据类型太少,而且不支持指针,这使得它的表达能力很有限。

(3)VisualBasic不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库去解释执行,这使得VisualBasic的编译速度大大变慢。


综述:方案一适合初涉编程的朋升团友,它对学习者的要求不高,几乎每个人都可以在一个比较短的时间里学会vB编程,并用VB做出自己的作品。对于那些把编程当做游戏的朋友来说,VB是您最佳的选择。


Basic/VisualBasic简介

==============================================

方案二Pascal语言&Delphi


优点

(1)Pascal语言结构严谨,可以很好地培养一个人的编程思想。

(2)Delphi是一门真正的面向对象的开发工具,并且是完全的可视化。

(3)Delphi使用了真编译,可以让你的代码编译成为可执行的文件,而且编译速度非常快。

(4)Delphi具有强大的数据库开发能力,可以让你轻松地开发数据库。


缺点

Delphi几乎可以说是完美的,只是Pascal语言的过于严谨让人感觉有点烦。


综述:方案二比较适合那些具有一定编程基础并且学过Pascal语言的朋友。


Pascal语言简介

Delphi简介

==============================================

方案三C语言&VisualC++


优点

(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。

(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。

(3)VC是微软制作的产品,与操作系统的结合更加紧密。


缺点

对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。


综述:VC是程序员用的东西。如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。


C语言简介

==============================================

方案四C++语言&C++Builder


优点

(1)C++语言的优点全部得以继承。

(2)完全的可是化。

(3)极强的兼容性,支持OWL、VCL和MFC三大类库。

(4)编译速度非常快。


缺点

由于推出的时间太短,关于它的各种资料还不太多。


综述:我认为C++Builder是最好的编程工具。它既保持了C++语言编程的优点,又做到了完全的可视化。


C语言简介

==============================================

方案五SQL语言&PowerBuilder


对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但是对于初学者来说,PowerBuilder也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言都会帮助你开发出自己的数据库应用程序。


[NextPage]

JSP简介


在Sun正式发布JSP(JavaServerPages)之后,这种新的Web应用开发技术很快引起了人们的关注。JSP为创建高度动态的Web应用提供了一个独特的开发环境。按照Sun的说法,JSP能够适应市场上包括ApacheWebServer、IIS4.0在内的85%的服务器产品。


JSP与ASP的简单比较


JSP与Microsoft的ASP技术非常相似。两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。


ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。


此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。


运行环境


执行JSP代码需要在服务器上安装JSP引擎。此处我们使用的是Sun的JavaServerWebDevelopmentKit(JSWDK)。为便于学习,这个软件包提供了大量可供修改的示例。安装JSWDK之后,只需执行startserver命令即可启动服务器。在默认配置下服务器在端口8080监听,使用p>


在运行JSP示例页面之前,请注意一下安装JSWDK的目录,特别是"work"子目录下的内容。执行示例页面时,可以在这里看到JSP页面如何被转换成Java源文件,然后又被编译成class文件(即Servlet)。JSWDK软件包中的示例页面分为两类,它们或者是JSP文件,或者是包含一个表单的HTML文件,这些表单均由JSP代码处理。与ASP一样,JSP中的Java代码均在服务器端执行。因此,在浏览器中使用"查看源文件"菜单是无法看到JSP源代码的,只能看到结果HTML代码。所有示例的源代码均通过一个单独的"examples"页面提供。


JavaServlet是一种开发Web应用的理想构架。JSP以Servlet技术为基础,又在许多方面作了改进。JSP页面看起来象普通HTML页面,但它允许嵌入执行代码,在这一点上,它和ASP技术非常相似。利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有力竞争者。


[NextPage]

SQL语言简介


SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle,Sybase,Informix,SQLserver这些大型的数据库管理系统,还是像VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。


StructuredQueryLanguage包含4个部分:


数据查询语言DQL-DataQueryLanguageSELECT

数据操纵语言DQL-,UPDATE,DELETE

数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP

数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK


SQL的历史


在70年代初,

E.E.Codd

首先提出了关系模型。70年代中期,IBM公司在研制SYSTEMR关系数据库管理系统中研制了SQL语言,最早的SQL语言(叫SEQUEL2)是在1976年11月的IBMJournalofR&D上公布的。


1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。


1986年10月,美国ANSI采用SQL作为关系数据库管理系统的标准语言(ANSIX3.135-1986),后为国际标准化组织(ISO)采纳为国际标准。


1989年,美国ANSI采纳在ANSIX3.135-1989报告中定义的关系数据库管理系统的SQL标准语言,称为ANSISQL89,该标准替代ANSIX3.135-1986版本。该标准为下列组织所采纳:


●国际标准化组织(ISO),为ISO9075-1989报告“”

●美国联邦政府,发布在(FIPSPUB)127


目前,所有主要的关系数据库管理系统支持某些形式的SQL语言,大部分数据库打算遵守ANSISQL89标准。


SQL的优点


SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。


(1)非过程化语言


SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法。这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。


(2)统一的语言


SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL命令只需很少时间就能学会,最高级的命令在几天内便可掌握。SQL为许多任务提供了命令,包括:


●查询数据

●在表中插入、修改和删除记录

●建立、修改和删除数据对象

●控制对数据和数据对象的存取

●保证数据库一致性和完整性


以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。


(3)是所有关系数据库的公共语言


由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。


[NextPage]

Java语言简介


一.Java的由来


当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?


Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。


在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。


二.Java的定义


Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。


Java的开发环境有不同的版本,如sun公司的JavaDevelopersKit,简称JDK。后来微软公司推出了支持Java规范的MicrosoftVisualJ++Java开发环境,简称VJ++。


三.Java的特点


1.平台无关性


平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。


2.安全性


Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问


3.面向对象


Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。


4.分布式


Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。


5.键壮性


Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供:Null指针检测、数组边界检测、异常出口、Bytecode校验。


四.Java与C/C++语言


Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。


Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。


Java去掉了以下几个C和C++功能:

指针运算

结构

typedefs

#define

需要释放内存


这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。


面象对象:Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。


五.Java与Internet


我们知道,早先的www仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。


Java并不是为Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言。Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!Java程序需要编译。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器。一种Java小应用程序是运行于Web浏览器中的一个程序.


Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400baud线上传输视频图象时,HotJava将能显示这些视频。


当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。


电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的

㈢ 编译程序分为哪几个主要部分

1、词法分析

词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。

2、语法分析

编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。

3、中间代码生成

中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。中间代码即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。

4、代码优化

代码优化是指对程序进行多种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。所谓等价,是指不改变程序的运行结果。所谓有效,主要指目标代码运行时间较短,以及占用的存储空间较小。这种变换称为优化。

5、目标代码生成

目标代码生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。



(3)不属于编译程序组成的部分是什么扩展阅读:

特点

数据结构分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成。

其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。

分析部分源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程序(又称为扫描程序)完成。

其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。


㈣ 编译程序有哪些主要构成成分

一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。
http://wenku..com/link?url=0v8lInjgI_bwRat7uR65ijEnNq0lW2Kfm9__xhVlwB9e3qwwVF5EVslxs1IP5mJ5-bTutTLbS

㈤ 链変汉璁や负缂栬疟绋嫔簭镄5涓缁勬垚閮ㄥ垎缂轰竴涓嶅彲,杩欑岖湅娉曟g‘钖

姝g‘銆
缂栬疟绋嫔簭镄5涓阒舵典腑锛岃瘝娉曞垎鏋愶纴璇娉曞垎鏋愶纴璇涔夊垎鏋愬拰浠g爜鐢熸垚鐢熸垚鏄蹇呴’瀹屾垚镄勚傝屼腑闂翠唬镰佺敓鎴愬拰浠g爜浼桦寲骞朵笉鏄蹇呬笉鍙灏戠殑銆
浠庡姛鑳戒笂鐪嬶纴缂栬疟绋嫔簭灏辨槸涓涓璇瑷缈昏疟绋嫔簭銆傝瑷缈昏疟绋嫔簭鎶娄竴绉嶈瑷涔︼纸绉颁綔婧愯瑷锛夊啓镄勭▼搴忕炕璇戞垚鍙︿竴绉嶈瑷銆

热点内容
浏览器打不开服务器通信怎么办 发布:2024-05-18 21:32:22 浏览:961
创建存储空间 发布:2024-05-18 21:20:57 浏览:122
sql日期和时间 发布:2024-05-18 21:16:19 浏览:143
安卓网页怎么截取 发布:2024-05-18 20:53:56 浏览:972
在配置更新的时候没电关机怎么办 发布:2024-05-18 20:36:10 浏览:928
win7访问win2000 发布:2024-05-18 20:27:41 浏览:389
青岛人社局密码多少 发布:2024-05-18 20:19:10 浏览:735
无法存储呼叫转移 发布:2024-05-18 20:18:30 浏览:128
数据库的调优 发布:2024-05-18 20:18:29 浏览:347
sqlserver注册表清理 发布:2024-05-18 20:13:14 浏览:993