一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么

一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么,第1张

通常由七个部分组成。分别是:词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成以及表格和表格管理、出错处理。

各自功能是:

1.词法分析:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词(也称单词符号,或简称符号)。在词法分析阶段工作所依循的是语言的词法规则;描述词法规则的有效工具是正规式和有限自动机。

2.语法分析:在词法分析的基础上,根据语言的语法规则,把单词符号串组成各类语法单位。具体的说,语法分析是在单词流的基础上建立一个层次结构——建立语法树。

3.语义分析和中间代码生成:语义分析利用语法分析阶段确定的层次结构来识别表达式和语句中的 *** 作信息及类型信息;中间代码生成阶段将产生的源程序的一个显式中间表示,这种中间表示可以看成是某种抽象程序,通常是与平台无关的,(可用三地址码和四元式表示)。

4.优化:试图改进中间代码,以产生执行速度较快的机器代码。

5.目标代码生成:生成可重定位的机器代码或汇编代码。

6.表格和表格管理:编译程序在工作过程中需要保持一系列的表格,以登记源程序的各类信息和编译各阶段的进展情况。

7.出错处理:编译程序对源程序中的错误进行处理,应最大限度地发现源程序中的各种错误,准确地指出错误的性质和发生错误的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,以便进一步发现其他可能的错误。通常编译过程中每个阶段都可能检测出错误,其中,绝大多数数错误可以在编译的前三阶段检测出来。且源程序中的错误通常分为语法错误和语义错误两大类。出错处理就是为了处理以上的错误情况。

TurboC程序设计分为三个基本步骤。

程序设计方法包括三个基本步骤::

第一步:分析问题。

第二步:画出程序的基本轮廓。

第三步:实现该程序。

TurboC程序设计分为三个基本步骤。翻译工作是由一个程序完成的,这个程序称为编译程序,翻译的过程称为编译,编译的结果称为目标程序,存放目标程序文件名字紧后的字符一般为".OBJ"或".O"。

程序翻译成目标程序后,便可进行连接。"连接"的目的是使程序变成在计算机上可以执行的最终形式。

在这一阶段,从系统程序库来的程序要与目标程序连接,连接的结果称为执行程序,存放执行程序文件名字一般以".EXE"结尾。在TurboC集成开发环境中建立一个新程序通常有以下几个步骤:(1).在编辑器中编写源文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11139800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存