什么是好的中间表示

摘抄自虎书

  1. 它必须便于语义分析阶段生成它
  2. 对于希望支持的所有目标机,它必须便于转变成真实的机器语言
  3. 便于对中间表示进行重写,因为后面可能会对中间表示进行优化

抽象语法中的复杂部分并不总是能正好与机器可以执行的复杂指令相对应。因此,中间表示中的个体成分应该只描述特别简单的事情:如单个取、存、加法或指令跳转等操作。这样,抽象语法中的任何复杂部分都可以用一组恰当的抽象机器指令来表示,而这些抽象机器指令则能形成“真正的”机器指令。