中間語言
中間語言（英語：Intermediate language），在計算機科學中，是指一種應用於抽象機器（abstract machine）的程式語言，它設計的目的，是用來幫助我們分析電腦程式。這個術語源自於編譯器，在編譯器將原始碼編譯為目的碼的過程中，會先將原始碼轉換為一個或多個的中間表述，以方便編譯器進行最佳化，並產生出目的機器的機器語言。通常，中間語言的設計與一般的機器語言有三個不同之處：

每個指令代表僅有一個基本的操作。舉例來說，在微處理器中出現的 shift-add 定址模式在中間語言不會出現。
指令集內可能不會包含控制流程的資訊。
暫存器可用的數量可能會很大，甚至沒有限制。最常見的中間語言表述形式，是三位址碼（Three address code）。
這個術語也同時用來代稱一些作為中間層的語言，有些高級語言不會輸出為機器語言，它們僅會輸出這種中間語言，而這些中間語言則會像一般語言一樣，提交給編譯器，編譯為機器語言。這通常被用於讓最佳化的過程更簡單，也用於增進可移植性的能力，改進移植的方式則是利用中間語言的編譯器，可以編譯出許多中央處理器及作業系統可使用的機器碼，例如 C 語言。中間語言的複雜度，通常介於高階語言及低階語言之間，例如組合語言。