首页 > 代码库 > 程序设计语言实践之路

程序设计语言实践之路

1

脚本语言比编译语言慢,因为编译语言可以固定一个值的位置,可以通过生成的机器指令访问。脚本语言每次必须从表中查找。

大致的结构:

一个预处理器,用于去除注释、空白,标记出token,展开缩写;

编译器,用于产生汇编语言。

连接器,将库连接。

汇编器:产生机器语言。

 

早期的AT&T编译器会将c++编译成c语言,再由c语言编译器编译成汇编语言。

技术分享


-----------------------------------------------------------------------------------------------------------------------------------------------------

编译的整个过程大概如下:

技术分享

符号表服务于整个编译过程。

以语义分析为分割为前端和后端,前端的任务是分析语义,后端的任务是产生等价的代码。

常把编译过程分为多个passes(每个pass是编译过程中的一小段),每个pass可以对应不同的前后pass。

 

程序设计语言实践之路