导航:首页 > 源码编译 > 计算机的编译系统主要作用

计算机的编译系统主要作用

发布时间:2023-08-18 13:49:26

㈠ 计算机软件系统的组成和功能

所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于开发、使用和维护的有关文档。软件系统可分为系统软件和应用软件两大类。 1系统软件 系统软件由一组控制计算机系统并管理其资源的程序组成,其主要功能包括:启动计算机,存储、加载和执行应用程序,对文件进行排序、检索,将程序语言翻译成机器语言等。实际上,系统软件可以看作用户与计算机的接口,它为应用软件和用户提供了控制、访问硬件的手段,这些功能主要由操作系统完成。此外,编译系统和各种工具软件也属此类,它们从另一方面辅助用户使用计算机。下面分别介绍它们的功能。 1)操作系统(Operating System, OS) 操作系统是管理、控制和监督计算机软、硬件资源协调运行的程序系统,由一系列具有不同控制和管理功能的程序组成,它是直接运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。操作系统是计算机发展中的产物,它的主要目的有两个:一是方便用户使用计算机,是用户和计算机的接口。比如用户键入一条简单的命令就能自动完成复杂的功能,这就是操作系统帮助的结果;二是统一管理计算机系统的全部资源,合理组织计算机工作流程,以便充分、合理地发挥计算机的效率。操作系统通常应包括下列五大功能模块: (1)处理器管理。当多个程序同时运行时,解决处理器(CPU)时间的分配问题。 (2)作业管理。完成某个独立任务的程序及其所需的数据组成一个作业。作业管理的任务主要是为用户提供一个使用计算机的界面使其方便地运行自己的作业,并对所有进入系统的作业进行调度和控制,尽可能高效地利用整个系统的资源。 (3)存储器管理。为各个程序及其使用的数据分配存储空间,并保证它们互不干扰。 (4)设备管理。根据用户提出使用设备的请求进行设备分配,同时还能随时接收设备的请求(称为中断),如要求输入信息。 (5)文件管理。主要负责文件的存储、检索、共享和保护,为用户提供文件操作的方便。 操作系统的种类繁多,依其功能和特性分为批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。按其发展前后过程,通常分成以下六类: (1)单用户操作系统(Single User Operating System) 单用户操作系统的主要特征是计算机系统内一次只能支持运行一个用户程序。这类系统的最大缺点是计算机系统的资源不能充分利用。微型机的DOS、Windows操作系统属于这一类。 (2)批处理操作系统(Batch Processing Operating System) 批处理操作系统是20世纪70年代运行于大、中型计算机上的操作系统。当时由于单用户单任务操作系统的CPU使用效率低,I/O设备资源未充分利用,因而产生了多道批处理系统,它主要运行在大中型机上。多道是指多个程序或多个作业(Multi-Programs or Multi Jobs)同时存在和运行,故也称为多任务操作系统。IBM的DOS/VSE就是这类系统。 (3)分时操作系统(Time-Sharing Operating System) 分时系统是一种具有如下特征的操作系统:在一台计算机周围挂上若干台近程或远程终端,每个用户可以在各自的终端上以交互的方式控制作业运行。 在分时系统管理下,虽然各用户使用的是同一台计算机,但却能给用户一种“独占计算机”的感觉。实际上是分时操作系统将CPU时间资源划分成极小的时间片(毫秒量级),轮流分给每个终端用户使用,当一个用户的时间片用完后,CPU就转给另一个用户,前一个用户只能等待下一次轮到。由于人的思考、反应和键入的速度通常比cpu的速度慢得多,所以只要同时上机的用户不超过一定数量,人们不会有延迟的感觉,好像每个用户都独占着计算机。分时系统的优点是:第一,经济实惠,可充分利用计算机资源;第二,由于采用交互会话方式控制作业,用户可以坐在终端前边思考、边调整、边修改,从而大大缩短了解题周期;第三,分时系统的多个用户间可以通过文件系统彼此交流数据和共享各种文件,在各自的终端上协同完成共同的任务。分时操作系统是多用户多任务操作系统,UNIX是国际上最流行的分时操作系统。此外,UNIX具有网络通信与网络服务的功能,也是广泛使用的网络操作系统。 (4)实时操作系统(Real-Time Operating System) 在某些应用领域,要求计算机对数据能进行迅速处理。例如,在自动驾驶仪控制下飞行的飞机、导弹的自动控制系统中,计算机必须对测量系统测得的数据及时、快速地进行处理和反应,以便达到控制的目的,否则就会失去战机。这种有响应时间要求的快速处理过程叫做实时处理过程,当然,响应的时间要求可长可短,可以是秒、毫秒或微秒级的。对于这类实时处理过程,批处理系统或分时系统均无能为力了,因此产生了另一类操作系统——实时操作系统。配置实时操作系统的计算机系统称为实时系统。实时系统按其使用方式可分成两类:一类是广泛用于钢铁、炼油、化工生产过程控制,武器制导等各个领域中的实时控制系统;另一类是广泛用于自动订票系统、情报检索系统、银行业务系统、超级市场销售系统中的实时数据处理系统。 (5)网络操作系统(Network Operating System) 计算机网络是通过通信线路将地理上分散且独立的计算机联结起来的一种网络,有了计算机网络之后,用户可以突破地理条件的限制,方便地使用远处的计算机资源。提供网络通信和网络资源共享功能的操作系统称为网络操作系统。 (6)微机操作系统 微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一单用户多任务系统,经过十几年的发展,已从Windows 3.1发展到目前的Windows NT、Windows 2000和Windows XP,它是当前微机中广泛使用的操作系统之一。linux是一个原码公开的操作系统,目前已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统(翻译程序) 如前所述,机器语言是计算机唯一能直接识别和执行的程序语言。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。

㈡ 编译系统是计算机系统软件中最核心最重要的部分吗

编译系统不是计算机系统软件中最核心最重要的轮旦销部分。操作系统是计算机系统软件中最核心的系统,它管迟薯理、控制和监督计算机软腊游件、硬件资源的协调运行。操作系统比编译系统更核心。

㈢ 程序语言,操作系统,编译器三者之间有何关系

程序语言,操作系统,编译器三者之间有何关系?

可以理解为程序语言需要在编历唤译器里面进行编译,但是编辑器需要运行在操作系统里
编程语言(programming language),是用来定义计算机肢铅凯程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的
简单讲,编译器就是将"一种语言(通常为高级语言)"翻译为"另激脊一种语言(通常为低级语言)"的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (piler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)
操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。目前流行的现代操作系统主要有Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,除了Windows和z/OS等少数操作系统,大部分操作系统都为类Unix操作系统。

操作系统和编译器的关系?

操作系统是和硬件的桥梁,所有软件如果要运行,就得在装有操作系统的机器上运行。没有安装操作系统的计算机,是不能运行其它软件的,装上了linux,你才能在它上面安装g, 你可以用g编译各种软件,比如linux版的QQ等,同样你也可以用g编译linux系统软件(因为系统软件也是软件),并把编译好的linux软件放到机器上安装。
当然也可以写个编译器在没有操作系统的机器上编译,但这个编译器就要做很多和硬件打交道的事。至少g是不行的,要运行在操作系统上的。

操作系统有哪几大特征?它们之间有何关系?

说得通俗点 就是一个操作平台 你要是用什么软件或执行什么程序 都需要建立在一个支持的平台上才好发挥出作用
之间 不知你所指是什么

家庭版 专业版 旗舰版 一个比一个功能更全面

关于编译器 操作系统 CPU

是编译器定的... 基本数据类型(VC为例)主类型分类型修饰符占用空间表示范围整形整数形 intshort2字节-32768 ~ 32767long(默认)4字节-231 ~ (231 -1)unsigned short2字节0 ~ 65535

操作系统可以编译高级语言源程序吗

首先你要搞清楚操作系统与编译器的概念,操作系统是一个软件平台,本身没有编译功能。编译器是运行于操作系统上的一个应用程序,只要有人把某种编程语言的编译器移植到这个操作系统上,那么就可以在这个操作系统上编译这种语言。
另外,不知道你说的高级语言是哪些,C++和JAVA之类的算不算?
一般来说,电脑用的操作系统上面,比如windows 和 Linux 都有多编译器,而小型的嵌入式操作系统则少有编译器可以能运行其上。

用户、计算机和程序员三者之间有何关系

用户是使用计算机的,计算机为用户提供服务,而程序员与计算机就像"朋友",可以彼此交流。实现人机对话。一一一个人解答,望采纳。

语言编译器是一种( ) A 系统软件 B 微机操作系统 C 字处理系统 D 源程序

可以先明晰下规则 答案来自hhqq005
编译器:翻译工具,把高级语言源程序翻译为汇编语言源程序,再把汇编源序翻译成目标代码供连接程序使用。
语言:一个规则。例如:C语言,它规定程序入口为main(),和其它规定。并把这些 <规定的集合> 命名为C语言。
TC:一个开发工具,它包括文本编辑器,编译器,连接程序,调试环境等等。TC中的编译器是TCC.EXE文件。
关于汇编:
汇编语言是一个规则,
汇编程序是一个翻译工具
汇编源程序是一个 符合(汇编语言)规则的程序代码
汇编是一个过程,这个过程是汇编程序 把汇编源程序 翻译 为目标代码的过程
对于高级语言:翻译的过程叫做编译,翻译工具叫做编译程序或编译器。
我觉得 这样看的话 是选择A

操作系统和语言程序的关系

操作系统是系统软件,不是编程语言。软件是由编程语言编写。常用的语言如汇编,C,C++,VC,VB,JAVA,DELPHI等。大部分应用程序都应在一定的系统平台(Windows,Unix,LInux)下工作。并不是说一定要有操作系统。否则在60-70年代计算机还有什么用。但是有了操作系统对于人们应用计算机带来了很多便利。至于说编程语言否也需要系统支持。还是那句话,在没有系统前,人们就是用汇编和C语言编写了windows系统!
当然一定的语言要有一定的编译环境,所谓编译环境就是一定的软件集成环境,如要有编辑程序,连接程序,编译程序,解释程序等!而这些程序又需要系统的支持,所以编程语言需要系统支持,只不过并非是windows系统。在这里就我个人认为,只有汇编语言例外。

工作、家庭和亲人三者之间有何关系?

家庭是一群由血缘和婚姻纽带连接起来的人。这些人生活在一个屋顶下,共同开支预算。当然这仅仅意味着理论上的概念,在现实生活中,家庭生活是与周围活跃的社会生活互相联系的,它要受当时经济、政治、文化及人们心理,信仰等变化的影响。无论在世人看来是多么独立的家庭,它实际上多多少少要反映出全部重要的社会现象,而反过来,所谓的“大世界”(即社会生活也必然要赋予家庭中人际关系所具有的特征,例如夫妻,父子关系等等)。
在社会主义所有制的影响下,随着国家对公民家庭物质福利的改善,家庭作为以父亲为首的经济生产个体的职能已经消亡,现在苏联人的家庭关系首先指的是人的关系,而不是指经济关系。苏联人普遍认为,夫妻子女间的情爱和共同利益是他们最关心的方面。
当然,迄今为止,经济在家庭生活中仍然还起着很大作用,它突出表现在家庭的物质利益和家庭成员的自助活动中。社会主义制度确保人与人之间的平等,因此其生活方式的一个重要特点就是夫妻共同管理家庭,共同分担家务劳动。随着时代的变迁,我们对于家庭与社会之间的责任和义务都有重新分配的必要。由于科技事业的发展,在很大程度上解决了苏联人民的衣、食、住、行状况,他们无需再花费更多的精力从事一些琐细的家务劳动,从而把大部份精力和时间投入从事社会性的创造活动。一般说来,家庭的建立和和睦幸福的确需要一定程度的物质条件,可这远远不是决定家庭幸福的唯一绝对因素。为了人们家庭安稳和谐,有必要首先清醒地认识幸福所包含的意义。为此,苏联社会学家V·波耶柯进行了测试,他把调查结果分为三类:
1.物质因素:一套公寓和物质福利优厚。
2.人的因素:夫妻间的相互理解,如对孩子的看法,有信心建立牢固的婚姻,共同的兴趣等。
3.其它因素:令人满意的工作,文化程度,好职位,社交范围等。
被调查的3220个列宁格勒市民中,有一半的人认为家庭幸福首先取决于夫妻间的理解,然后才谈得上其它因素。这次调查结果与苏联社会学家Z·杨柯夫1978——1979年与苏联《劳动妇女》杂志编辑部所做的调查一样,不论男女公民,在确定自己的家庭关系时都首先考虑相互的理解和体贴,双方互相尊重,第二是要能共同承担养育子女的义务,但是,由于男女生理,心理特征的差异,使女性比男性更为强调理解和信任的重要性,至于家庭之外的其它因素,男女均认为有一个满意的工作是必要的前题,女性侧重双方共度余暇,积极参加旅游,社交是巩固婚姻纽带有效的办法;男性更为珍视自我意识,行动自由和在社会上的个人名望及地位。
摘自网络
这样,由于男女愿望的差异和家务劳动,家庭生活所形成的独特性,就使得家庭成员之间必须了解自己在家庭生活中应该扮演的角色,及所需承担的义务。而家庭成员怎样成功地处理好家务琐事,家庭关系又反映出其所处社会的成熟和完善程度。社会学家认为:一个完美幸福的家庭,既要满足其成员间婚姻和伴侣的本能的原始要求,又要使他们在自己子女身上体现出父爱或母爱,而与此同时通过大量日常共同的家务琐事渐渐获得正确处理夫妻关系的经验,从而去理解家庭幸福和爱情的更深的层次。
一对和睦相爱的夫妇所关心的不仅仅是自己,而是对方的需要,这样又提高了自己在爱人眼里的价值,取得了他或她的尊敬。跟潘约诺夫夫妇一样,成千上万和睦的男女由于共同的生活目标,共同的企望密切地联系起来,使他们能和衷共济,屡经磨砺而不动摇婚姻家庭的基石。社会主义制度下这样珍惜爱情,互相关心,爱抚下一代的夫妻关系正是现代苏联人生活的楷模。

㈣ 编译器的组成及各部分的功能及作用

1. 词法分析 词法分析器根据词法规则识别出源程序中的各个记号(token),每个记号代表一类单词(lexeme)。源程序中常见的记号可以归为几大类:关键字、标识符、字面量和特殊符号。词法分析器的输入是源程序,输出是识别的记号流。词法分析器的任务是把源文件的字符流转换成记号流。本质上它查看连续的字符然后把它们识别为“单词”。 2. 语法分析 语法分析器根据语法规则识别出记号流中的结构(短语、句子),并构造一棵能够正确反映该结构的语法树。 3. 语义分析 语义分析器根据语义规则对语法树中的语法单元进行静态语义检查,如果类型检查和转换等,其目的在于保证语法正确的结构在语义上也是合法的。 4. 中间代码生成 中间代码生成器根据语义分析器的输出生成中间代码。中间代码可以有若干种形式,它们的共同特征是与具体机器无关。最常用的一种中间代码是三地址码,它的一种实现方式是四元式。三地址码的优点是便于阅读、便于优化。 5. 中间代码优化 优化是编译器的一个重要组成部分,由于编译器将源程序翻译成中间代码的工作是机械的、按固定模式进行的,因此,生成的中间代码往往在时间和空间上有很大浪费。当需要生成高效目标代码时,就必须进行优化。 6. 目标代码生成 目标代码生成是编译器的最后一个阶段。在生成目标代码时要考虑以下几个问题:计算机的系统结构、指令系统、寄存器的分配以及内存的组织等。编译器生成的目标程序代码可以有多种形式:汇编语言、可重定位二进制代码、内存形式。 7 符号表管理 符号表的作用是记录源程序中符号的必要信息,并加以合理组织,从而在编译器的各个阶段能对它们进行快速、准确的查找和操作。符号表中的某些内容甚至要保留到程序的运行阶段。 8 出错处理用户编写的源程序中往往会有一些错误,可分为静态错误和动态错误两类。所谓动态错误,是指源程序中的逻辑错误,它们发生在程序运行的时候,也被称作动态语义错误,如变量取值为零时作为除数,数组元素引用时下标出界等。静态错误又可分为语法错误和静态语义错误。语法错误是指有关语言结构上的错误,如单词拼写错、表达式中缺少操作数、begin和end不匹配等。静态语义错误是指分析源程序时可以发现的语言意义上的错误,如加法的两个操作数中一个是整型变量名,而另一个是数组名等。

㈤ 请问pascal编译程序的功能是什么

编辑词条编译程序
编译程序
compiler
把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
功能 编译程序的基本功能是把源程序翻译成目标程序。但是,作为一个具有实际应用价值的编译系统,除了基本功能之外,还应具备语法检查、调试措施、修改手段、覆盖处理、目标程序优化、不同语言合用以及人-机联系等重要功能。①语法检查:检查源程序是否合乎语法。如果不符合语法,编译程序要指出语法错误的部位、性质和有关信息。编译程序应使用户一次上机,能够尽可能多地查出错误。②调试措施:检查源程序是否合乎设计者的意图。为此,要求编译程序在编译出的目标程序中安置一些输出指令,以便在目标程序运行时能输出程序动态执行情况的信息,如变量值的更改、程序执行时所经历的线路等。这些信息有助于用户核实和验证源程序是否表达了算法要求。③修改手段:为用户提供简便的修改源程序的手段。编译程序通常要提供批量修改手段(用于修改数量较大或临时不易修改的错误)和现场修改手段(用于运行时修改数量较少、临时易改的错误)。④覆盖处理:主要是为处理程序长、数据量大的大型问题程序而设置的。基本思想是让一些程序段和数据公用某些存储区,其中只存放当前要用的程序或数据;其余暂时不用的程序和数据,先存放在磁盘等辅助存储器中,待需要时动态地调入。⑤目标程序优化:提高目标程序的质量,即占用的存储空间少,程序的运行时间短。依据优化目标的不同,编译程序可选择实现表达式优化、循环优化或程序全局优化。目标程序优化有的在源程序级上进行,有的在目标程序级上进行。⑥不同语言合用:其功能有助于用户利用多种程序设计语言编写应用程序或套用已有的不同语言书写的程序模块。最为常见的是高级语言和汇编语言的合用。这不但可以弥补高级语言难于表达某些非数值加工操作或直接控制、访问外围设备和硬件寄存器之不足,而且还有利于用汇编语言编写核心部分程序,以提高运行效率。⑦人-机联系:确定编译程序实现方案时达到精心设计的功能。目的是便于用户在编译和运行阶段及时了解内部工作情况,有效地监督、控制系统的运行。
早期编译程序的实现方案,是把上述各项功能完全收纳在编译程序之中。然而,习惯做法是在操作系统的支持下,配置调试程序、编辑程序和连接装配程序,用以协助实现程序的调试、修改、覆盖处理,以及不同语言合用功能。但在设计编译程序时,仍须精心考虑如何与这些子系统衔接等问题。
工作过程 编译程序必须分析源程序,然后综合成目标程序。首先,检查源程序的正确性,并把它分解成若干基本成分;其次,再根据这些基本成分建立相应等价的目标程序部分。为了完成这些工作,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工(图1)。
数据结构 分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示,以及分配给它们的目标程序地址。中间语言程序是将源程序翻译为目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用和加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
分析部分 源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程序(又称为扫描程序)完成,其任务是识别单词(即标识符、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法。如不合乎语法,则输出语法出错信息;如合乎语法,则分解源程序的语法结构,构造中间语言形式的内部程序。语法分析的目的是掌握单词是怎样组成语句的,以及语句又是如何组成程序的。语义分析程序是进一步检查合法程序结构的语义正确性,其目的是保证标识符和常数的正确使用,把必要的信息收集和保存到符号表或中间语言程序中,并进行相应的语义处理。
综合部分 综合阶段必须根据符号表和中间语言程序产生出目标程序,其主要工作包括代码优化、存储分配和代码生成。代码优化是通过重排和改变程序中的某些操作,以产生更加有效的目标程序。存储分配的任务是为程序和数据分配运行时的存储单元。代码生成的主要任务是产生与中间语言程序符等价的目标程序,顺序加工中间语言程序,并利用符号表和常数表中的信息生成一系列的汇编语言或机器语言指令。
结构 编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、 语义分析、 代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。例如,可以把词法分析作为第一遍;语法分析和语义分析作为第二遍;代码优化和存储分配作为第三遍;代码生成作为第四遍。反之,为了适应较小的存储空间或提高目标程序质量,也可以把一个逻辑步骤的工作分为几遍去执行。例如,代码优化可划分为代码优化准备工作和实际代码优化两遍进行。
一个编译程序是否分遍,以及如何分遍,根据具体情况而定。其判别标准可以是存储容量的大小、源语言的繁简、解题范围的宽窄,以及设计、编制人员的多少等。分遍的好处是各遍功能独立单纯、相互联系简单、逻辑结构清晰、优化准备工作充分。缺点是各遍之中不可避免地要有些重复的部分,而且遍和遍之间要有交接工作,因之增加了编译程序的长度和编译时间。
一遍编译程序是一种极端情况,整个编译程序同时驻留在内存,彼此之间采用调用转接方式连接在一起(图2)。当语法分析程序需要新符号时,它就调用词法分析程序;当它识别出某一语法结构时,它就调用语义分析程序。语义分析程序对识别出的结构进行语义检查,并调用“存储分配”和“代码生成”程序生成相应的目标语言指令。
随着程序设计语言在形式化、结构化、直观化和智能化等方面的发展,作为实现相应语言功能的编译程序,也正向自动程序设计的目标发展,以便提供理想的程序设计工具。
参考书目
陈火旺、钱家骅、孙永强编:《编译原理》,国防工业出版社,北京,1980。
A.V.Aho, Principles of Compiler Design,Addison Wes-ley, Reading, Massachusetts, 1977.
--------------------------------------------------------------------------------
编译程序 (compiler)
将用高级程序设计语言书写的源程序,翻译成等价的用计算机汇编语言、机器语言或某种中间语言表示的目标程序的翻译程序。用户利用编译程序实现数据处理任务时,先要经历编译阶段,再经历运行阶段。编译阶段以源程序作为输入,以目标程序作为输出,其主要任务是将源程序翻译成目标程序。运行阶段的任务是运行所编译出的目标程序,实现源程序中指定的数据处理任务,其工作通常包括:输入初始数据,对数据或文件进行数据加工,输出必要信息和加工结果等。编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时因为它要在编译阶段处理递归调用、动态存储分配、多种数据类型 实现 、 代码生成与代码优化等繁杂技术问题;还要在运行阶段提供良好、有效的运行环境。由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,所以编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
功能 编译程序的基本功能是把源程序翻译成目标程序。此外,还要具备语法检查、调试措施、修改手段、覆盖处理、目标程序优化、不同语言合用以及人机联系等具有实际应用价值的重要功能。①语法检查。检查源程序是否合乎语法 。②调试措施。检查源程序是否合乎用户的设计意图。③修改手段。为用户提供简便的修改源程序的手段。④覆盖处理。主要为处理程序较长、数据量较大的大型问题程序而设置。基本思想是让一些程序段和数据公用某些存储区,其中只存放当前要用的程序段或数据,其余暂时不用的程序段和数据均存放在磁盘等辅助存储器中,待需要时动态地调入存储区中运行。⑤目标程序优化。提高目标程序的质量,即使编译出的目标程序运行时间短、占用存储少。⑥不同语言合用 。便于用户利用多种程序设计语言编写应用程序或套用已有的不同语言书写的程序模块。最为常见的是高级语言和汇编语言的合用。⑦人机联系。便于用户在编译和运行阶段及时了解系统内部工作情况,有效地监督、控制系统的运行。
早期编译程序的实现方案,是把上述各项功能完全收纳在编译程序之中 。后来的习惯方法是在操作系统的支持下,配置编辑程序、调试程序、连接装配程序等实用程序或工具软件,目的是创造一个良好的开发环境和运行环境,便于应用软件的编程、修改、调试、集成以及报表生成、界面设计等工作。但编译程序设计者设计编译方案时,仍需精心考虑上述各项功能,较好地解决目标程序与这些实用程序或软件工具之间的配合与衔接等问题。
工作过程 编译程序必须分析源程序,然后综合成目标程序。为达到这个目的,编译程序要在分析阶段建立一些表格,改造源程序为中间语言形式,以便在分析和综合时易于引用和加工。
数据结构 分析和综合时所用的主要数据结构,包括符号表、常数表和中间语言程序。符号表由源程序中所用的标识符连同它们的属性组成,其中属性包括种类(如变量、数组、结构、函数、过程等)、类型(如整型、实型、字符串、复型、标号等),以及目标程序所需的其他信息。常数表由源程序中用的常数组成,其中包括常数的机内表示以及分配给它们的目标程序地址。中间语言程序是将源程序翻译成目标程序前引入的一种中间形式的程序,其表示形式的选择取决于编译程序以后如何使用它和如何加工它。常用的中间语言形式有波兰表示、三元组、四元组以及间接三元组等。
分析部分 源程序的分析是经过词法分析、语法分析和语义分析三个步骤实现的。词法分析由词法分析程序(又称为扫描程序 )完成,其任务是识别单词(即标识符 、常数、保留字,以及各种运算符、标点符号等)、造符号表和常数表,以及将源程序换码为编译程序易于分析和加工的内部形式。语法分析程序是编译程序的核心部分,其主要任务是根据语言的语法规则,检查源程序是否合乎语法,并分解源程序。如果不合乎语法,则输出语法出错信息;如果合乎语法,则分解源程 序的语法结构, 构造中间语 言形式的内部程序。语法分析的目的是掌握单词是怎样组成语句的,以及语句又是如何组成程序的。语义分析程序进一步检查合法程序结构的语义正确性,其目的是保证标识符和常数的正确使用,把必要的信息收集和保存到符号表或中间语言程序中,并进行相应的语义处理。
综合部分 综合阶段根据符号表和中间语言程序产生出目标程序,其主要工作包括代码优化、存储分配和代码生成。代码优化是通过重排和改变程序中的某些操作,以产生更加有效的目标程序。存储分配是为程序和数据分配运行时的存储单元。 代码生成是产 生与中间语 言程序等价的目标程序,亦即,顺序加工中间语言程序,利用符号表和常数表中的信息生成一系列的汇编语言或机器语言指令。
动态 20世纪80年代以后,程序设计语言在形式化、结构化、直观化和智能化等方面有了长足的进步和发展,主要表现在两个方面:①随着程序设计理论和方法的发展,相继推出了一系列新型程序设计语言,如结构化程序设计语言、并发程序设计语言、分布式程序设计语言、函数式程序设计语言、智能化程序设计语言、面向对象程序设计语言等;②基于语法、语义和语用方面的研究成果,从不同的角度和层次上深刻地揭示了程序设计语言的内在规律和外在表现形式。与此相应地,作为实现程序设计语言重要手段之一的编译程序,在体系结构、设计思想、实现技术和处理内容等方面均有不同程度的发展、变化和扩充。另外,编译程序已作为实现编程的重要软件工具,被纳入到软件支援环境的基本层软件工具之中。因此,规划编译程序实现方案时,应从所处的具体软件支援环境出发,既要遵循整个环境的全局性要求和规定,又要精心考虑与其他诸层软件 工具之间的相互支援、配合和衔接关系。

㈥ 计算机的系统有几大部分组成

计算机(全称: 电子计算机)
中文:计算机。汉语拼音:jì suàn jī
英文:computer、calculation machine、PC(个人计算机)、laptop(笔记本电脑)、Workstation(工作站)、Server(服务器)、Mainframe(大型机)、Supercomputer(超级计算机)
法文:Ordinateur
早期称作微机,初期在香港商人之间被称为电脑 ,后引入国内,成为大众最熟悉的名字。
计算机由硬件和软件所组成,两者是不可分割的。

附加资料:
计算机系统中所使用的电子线路和物理设备,是看得见、摸得着的实体,如中央处理器( CPU )、存储器、外部设备(输入输出设备、I/O设备)及总线等,即硬件。
计算机的软件系统可分为系统软件和应用软件两部分。系统软件是负责对整个计算机系统资源的管理、调度、监视和服务。应用软件是指各个不同领域的用户为各自的需要而开发的各种应用程序。计算机软件系统包括:
①操作系统 :系统软件的核心,它负责对计算机系统内各种软、硬资源的管理、控制和监视。
②数据库管理系统:负责对计算机系统内全部文件、资料和数据的管理和共享。
③编译系统:负责把用户用高级语言所编写的源程序编译成机器所能理解和执行的机器语言。
④网络系统:负责对计算机系统的网络资源进行组织和管理,使得在多台独立的计算机间能进行相互的资源共享和通信。
⑤标准程序库:按标准格式所编写的一些程序的集合,这些标准程序包括求解初等函数、线性方程组、常微分方程、数值积分等计算程序。
⑥服务性程序:也称实用程序。为增强计算机系统的服务功能而提供的各种程序 ,包括对用户程序的装置、连接、编辑、查错、纠错、诊断等功能。为了使计算机能算得快和准、记得多和牢,数十年来,对提高单机中的中央处理器的处理速度和精度,对提高存储器的存取速度和容量作了许多改进,如:增加运算器的基本字长和提高运算器的精度;增加新的数据类型,或对数据进行自定义,使数据带有标志符,用以区别指令和数,及说明数据类型;在 CPU 内增设通用寄存器、采用变址寄存器、增加间接寻址功能和增设高速缓冲存储器和采用堆栈技术;采用存储器交叉存取技术及虚拟存储器技术;采用指令流水线和运算流水线;采用多个功能部件和增设协处理器等。

阅读全文

与计算机的编译系统主要作用相关的资料

热点内容
公路商店app标签选什么 浏览:335
linuxoracle命令行登录 浏览:224
android深度休眠 浏览:169
php微信开发例子 浏览:843
医得app登录密码是什么 浏览:140
spring开发服务器地址 浏览:411
服务器上如何查看服务器的端口 浏览:678
单片机服务器编译 浏览:770
单口usb打印机服务器是什么 浏览:859
战地五开服务器要什么条件 浏览:956
在word中压缩图片大小 浏览:255
javatomcat图片 浏览:419
程序员生产智能创意 浏览:67
汇和银行app怎么登录 浏览:383
腾讯服务器如何上传源码 浏览:748
单片机的原理概述 浏览:512
火控pdf 浏览:269
如何复制云服务器centos环境 浏览:988
债权pdf 浏览:307
红色番字的app怎么下载 浏览:877