导航:首页 > 源码编译 > 编译程序各阶段任务和功能

编译程序各阶段任务和功能

发布时间:2025-04-06 09:39:34

编译程序有哪些主要构成成分它们各自的主要功能是什么

编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。

编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。

例如,可以把词法分析作为第一遍;语法分析和语义分析作为第二遍;代码优化和存储分配作为第三遍;代码生成作为第四遍。

反之,为了适应较小的存储空间或提高目标程序质量,也可以把一个逻辑步骤的工作分为几遍去执行。例如,代码优化可划分为代码优化准备工作和实际代码优化两遍进行。

(1)编译程序各阶段任务和功能扩展阅读

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

源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。

词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。

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

阅读全文

与编译程序各阶段任务和功能相关的资料

热点内容
安卓系统如何让屏幕亮 浏览:380
老年机服务器错误怎么办 浏览:842
百度服务器坏了怎么办 浏览:290
ip软件加密狗 浏览:299
北京标准服务器云空间 浏览:88
化学考研不会编程怎么办 浏览:759
net程序员的路在哪里 浏览:7
鸿蒙编译器系统讲授 浏览:541
解压神剧电视剧解说 浏览:984
vscodepython远程解释器 浏览:959
压力支撑主图叠加源码 浏览:627
pdf导出pdf 浏览:729
命令与征服将军修改 浏览:515
政治生活pdf 浏览:735
protel单片机元件库 浏览:928
安卓手机为什么一直显示安装失败 浏览:869
TUB为什么进不了服务器 浏览:619
简易加密英文的常用手段 浏览:309
手机里a文件夹 浏览:612
云图计划算法重构怎么用 浏览:669