(1) 限定几种高级语言和几种计算机:这种想法仅是把理想的适应各种高级语言和各种计算机的特点范围缩小而已,它的极小限制是一种高级语言对应一种计算机。而通常可以把共性较多、特性较接近的高级语言作为几种限定的语言,同样把特点较接近的各种计算机归结为限定的几种计算机。按这种限定几种高级语言和限定几种计算机所设计的中间语言较容易满足,并且实现后的效率也不难达到。
  (2) 限定计算机情况下的中间语言:当限定某种计算机时,而高级语言为多种情况下所设计的中间语言,应能充分反映限定计算机的特点称MSIL(Machine Specific Intermediate language)。对这种机器的所有编译程序在分析阶段都生成MSIL,在实现一个编译程序时,尽量把编译过程的大量工作放在代码生成阶段,即MSIL到目标程序的翻译上,以减轻不同语言翻译的分析任务。因不管多少种高级语言,MSIL到目标程序的代码生成只需做一次即可。如图12.5所示。
图 12.5 多种源语言对应一种目标机编译程序的示意图