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

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

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

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

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

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

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

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

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

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

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

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

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

阅读全文

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

热点内容
怎样抓回已加密的验证码 浏览:536
floatjava比较 浏览:379
服务器缩水什么意思 浏览:337
ce驱动如何编译 浏览:11
如何把设置应用加密取消 浏览:136
windows项命令 浏览:535
哪里有接工地活的app 浏览:691
编程一元二次方程的根 浏览:487
我的世界服务器的副本怎么建 浏览:282
删除端口下ACL命令 浏览:918
废品机械师mod在哪个文件夹 浏览:29
美颜pdf 浏览:691
函数的性质图像算法 浏览:891
单片机贴片的使用 浏览:635
程序员自动化是什么意思 浏览:236
如何知道用的什么服务器 浏览:989
linux等待时间 浏览:396
oppo怎么给手机卡加密码 浏览:688
阿里云服务器怎么开关机 浏览:270
androidgson数据解析 浏览:490