中間語言 中間語言英語Intermediate language在計算機科學中是指一種應用於抽象機器abstract machine的程式語言它設計的目的是用來幫助我們分析计算机程序這個術語源自於編譯器在編譯器將原始碼編譯為目的碼的過程中會先將原始碼轉換為一個或多個的中間表述以方便編譯器進行最佳化並產生出目的機器的机器语言通常中間語言的設計與一般的机器语言有三個不同之處 每個指令代表僅有一個基本的操作舉例來說在微处理器中出現的shiftadd定址模式在中間語言不會出現 指令集內可能不會包含控制流程的資訊 暫存器可用的數量可能會很大甚至沒有限制 最常見的中間語言表述形式是三位址碼Three address code 這個術語也同時用來代稱一些作為中間層的語言有些高级语言不會輸出為機器語言它們僅會輸出這種中間語言而這些中間語言則會像一般語言一樣提交給編譯器編譯為機器語言這通常被用於讓最佳化的過程更簡單也用於增進可移植性的能力改進移植的方式則是利用中間語言的編譯器可以編譯出許多中央处理器及操作系统可使用的機器碼例如C语言中間語言的複雜度通常介於高階語言及低级语言之間例如汇编语言