导航:首页 > 源码编译 > 编译器的逻辑阶段哪些可以省略

编译器的逻辑阶段哪些可以省略

发布时间:2025-07-21 03:55:59

① 典型的编译器可以划分成几个主要的逻辑阶段

这是我们今天的作业,

典型的编译器可以划分成七个主要的逻辑阶段,分别是词法分析器、语法分析器、语义分析器、中间代码生成器、独立于机器的代码优化器、代码生成器、依赖于机器的代码优化器。各阶段的主要功能:

(1)词法分析器:词法分析阅读构成源程序的字符流,按编程语言的词法规则把它们组成词法记号流。

(2)语法分析器:按编程语言的语法规则检查词法分析输出的记号流是否符合这些规则,并依据这些规则所体现出的该语言的各种语言构造的层次性,用各记号的第一元建成一种树形的中间表示,这个中间表示用抽象语法的方式描绘了该记号流的语法情况。

(3)语义分析器:使用语法树和符号表中的信息,依据语言定义来检查源程序的语义一致性,以保证程序各部分能有意义地结合在一起。它还收集类型信息,把它们保存在符号表或语法树中。

(4)中间代码生成器:为源程序产生更低级的显示中间表示,可以认为这种中间表示是一种抽象机的程序。

(5)独立于机器的代码优化器:试图改进中间代码,以便产生较好的目标代码。通常,较好是指执行较快,但也可能是其他目标,如目标代码较短或目标代码执行时能耗较低。

(6)代码生成器:取源程序的一种中间表示作为输入并把它映射到一种目标语言。如果目标语言是机器代码,则需要为源程序所用的变量选择寄存器或内存单元,然后把中间指令序列翻译为完成同样任务的机器指令序列。

(7)依赖于机器的代码优化器:试图改进目标机器代码,以便产生较好的目标机器代码。

② 编译器的逻辑阶段可以怎样分组

编译器的逻辑阶段通常可以分为以下几个部分:

阅读全文

与编译器的逻辑阶段哪些可以省略相关的资料

热点内容
上海28岁程序员采访 浏览:814
程序员和设计师工资差别 浏览:168
编译驱动一定要放到内核目录吗 浏览:804
androidclipdrawable 浏览:456
做工程序员 浏览:593
好物100pdf 浏览:618
plc和单片机那个工资高 浏览:308
解压神器里的解压包子怎么拿出来 浏览:559
怎么编译linux内核 浏览:210
多少行代码编译变卡 浏览:311
步知app如何调亮度 浏览:121
fpga编程方式 浏览:506
压缩wordvisio图片 浏览:432
程序员边听歌的视频 浏览:324
如何将数据编译成枚举类 浏览:980
java提示消息 浏览:907
端口编译 浏览:710
wps表格自动生成文件夹目录 浏览:565
androidgetitem 浏览:725
冰箱压缩机塑料盒 浏览:548