中間語言 

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

  • 每個指令代表僅有一個基本的操作。舉例來說,在微处理器中出現的shift-add定址模式在中間語言不會出現。
  • 指令集內可能不會包含控制流程的資訊。
  • 暫存器可用的數量可能會很大,甚至沒有限制。

最常見的中間語言表述形式,是三位址碼(Three address code)。

這個術語也同時用來代稱一些作為中間層的語言,有些高级语言不會輸出為機器語言,它們僅會輸出這種中間語言,而這些中間語言則會像一般語言一樣,提交給編譯器,編譯為機器語言。這通常被用於讓最佳化的過程更簡單,也用於增進可移植性的能力,改進移植的方式則是利用中間語言的編譯器,可以編譯出許多中央处理器操作系统可使用的機器碼,例如C语言。中間語言的複雜度,通常介於高階語言及低级语言之間,例如汇编语言




取材自維基百科 - 中文時事百科