编译器设计 - 架构

根据编译器的编译方式,编译器大致可分为两个阶段。

分析阶段

编译器的分析阶段被称为编译器的前端,它会读取源程序,将其划分为核心部分,然后检查词汇、语法和句法错误。分析阶段会生成源程序和符号表的中间表示,并将其作为输入提供给综合阶段。

编译器的分析和综合阶段

综合阶段

编译器的综合阶段被称为编译器的后端,它会借助中间源代码表示和符号表生成目标程序。

编译器可以具有许多阶段和过程。

  • 过程:过程是指编译器对整个程序的遍历。

  • 阶段:编译器的阶段是一个可区分的阶段,它从上一个阶段获取输入,处理并产生可用作下一个阶段输入的输出。一个过程可以有多个阶段。