zl程序教程

您现在的位置是:首页 >  其他

当前栏目

自己动手构造编译系统:编译、汇编与链接2.1 编译程序的设计

2023-03-09 22:21:29 时间

第2章

  

编译系统设计

  

麻雀虽小,五脏俱全。


——《围城》

  

   一个完善的工业化编译系统是非常复杂的,为了清晰地描述它的结构,理解编译系统的基本流程,不得不对它进行“大刀阔斧”地删减。这为自


己动手实现一个简单但基本功能完整的编译系统提供了可能。虽然本书设计的是简化后的编译系统,但保留了编译系统的关键流程。正所


谓“麻雀虽小,五脏俱全”,本章从全局的角度描述了编译系统的基本结构,并按照编译、汇编和链接的流程来介绍其设计。


2.1  编译程序的设计

  

编译器是编译系统的核心,主要负责解析源程序的语义,生成目标机器代码。一般情况下,编译流程包含词法分析、语法分析、语义分析和代



生成四个阶段。符号表管理和错误处理贯穿于整个编译流程。如果编译器支持代码优化,那么还需要优化器模块。


  图2-1展示了本书设计的优化编译器的结构,下面分别对上述模块的实现方案做简单介绍。

 

图2-1  编译器结构