一种应用于抽象机器（abstract machine）的程式语言，它设计的目的，是用来帮助我们分析计算机程序。这个术语源自于编译器，在编译器将原始码编译为目的码的过程中，会先将原始码转换为一个或多个的中间表述，以方便编译器进行最佳化，并产生出目的机器的机器语言。通常，中间语言的设计与一般的机器语言有三个不同之处：最常见的中间语言表述形式，是三位址码（Three address code）。这个术语也同时用来代称一些作为中间层的语言，有些高级语言不会输出为机器语言，它们仅会输出这种中间语言，而这些中