中間コード 【intermediate code】
概要
中間コード(intermediate code)とは、人間が読み書きしやすいプログラミング言語で書かれたソースコードと、コンピュータが直に実行可能なネイティブコードの中間の特徴を持つ形式のプログラムコード。命令を表すコードを1バイトで表現するものは特に「バイトコード」(byte code)と呼ばれる。人間の書いたソースコードはそのままではコンピュータで実行できず、機械語に翻訳しなければならないが、この変換処理は時間がかかり、プログラムの実行時に行なうと実行速度を大きく損ねてしまう。
一方、機械語(マシン語)に変換されたネイティブコードは直接実行できるが、機械語の仕様や体系はマイクロプロセッサの種類やハードウェア構成などに依存しており、それらが異なる機種では実行することができない。
中間コードは両者の中間的な性質を持ち、実際には存在しない架空のコンピュータで動作する機械語のコードのような形式となっている。プログラムの配布時にはソースコードを中間コードに変換して配布し、実行時にはそのコンピュータの仕様に合ったネイティブコードに変換して実行される。
中間コードからネイティブコードへの変換はソースコードからの変換よりも遥かに効率がよく、高速に実行することができる。この実行時のコード変換を行うプログラムのことを、中間コードを実行する仮想的なコンピュータという意味で「仮想マシン」(VM:Virtual Machine/バーチャルマシン)という。
(2020.1.23更新)