编译器设计 - 架构



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

分析阶段

编译器的前端称为“分析”阶段,它读取源程序,将其分解为核心部分,然后检查词法、语法和句法错误。分析阶段生成源程序和符号表的中间表示,这些表示应作为输入馈送到合成阶段。

Analysis and Synthesis phase of compiler

合成阶段

编译器后端称为“合成”阶段,它在中间源代码表示和符号表的帮助下生成目标程序。

编译器可以分为多个阶段和通道。

  • 通道 :通道指编译器遍历整个程序。

  • 阶段 :编译器阶段是一个可区分阶段,它从前一阶段获取输入,处理后生成输出内容,这些输出内容可用作下一阶段的输入。一个通道可以包含多个阶段。

广告