如何编写编译器/编译流水线
外观
< 如何编写编译器
接受源文件,分析它并生成目标文件的任务可以粗略地分为若干个独立的步骤。这些步骤被组织成一个流水线,每个步骤都在上一步的输出上工作,并生成下一个步骤的输入。这被称为编译流水线,在每个编译器中都以某种形式存在。
对于接受高级语言并生成低级语言代码的通用编译器,编译流水线的步骤将是
- 扫描
- 解析
- 语义分析
- 生成中间语言
- 代码优化
- 生成目标语言
根据语言的要求,编译器在每个步骤中可能做更多或更少的工作,也可能完全跳过某些步骤。
接受源文件,分析它并生成目标文件的任务可以粗略地分为若干个独立的步骤。这些步骤被组织成一个流水线,每个步骤都在上一步的输出上工作,并生成下一个步骤的输入。这被称为编译流水线,在每个编译器中都以某种形式存在。
对于接受高级语言并生成低级语言代码的通用编译器,编译流水线的步骤将是
根据语言的要求,编译器在每个步骤中可能做更多或更少的工作,也可能完全跳过某些步骤。