跳转到内容

如何编写编译器/编译流水线

来自维基教科书,开放的书籍,开放的世界

接受源文件,分析它并生成目标文件的任务可以粗略地分为若干个独立的步骤。这些步骤被组织成一个流水线,每个步骤都在上一步的输出上工作,并生成下一个步骤的输入。这被称为编译流水线,在每个编译器中都以某种形式存在。

对于接受高级语言并生成低级语言代码的通用编译器,编译流水线的步骤将是

  1. 扫描
  2. 解析
  3. 语义分析
  4. 生成中间语言
  5. 代码优化
  6. 生成目标语言

根据语言的要求,编译器在每个步骤中可能做更多或更少的工作,也可能完全跳过某些步骤。

华夏公益教科书