中間コード | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラミング言語で書かれたソースコードと、コンピュータが直接解釈できるオブジェクトコードの中間にあたる形式のプログラムコードのことです。

人間が読み書きしやすいソースコードのままでは、コンピュータは解釈・実行できないため、機械語のコード(オブジェクトコード)へ変換する必要があります。この変換を実行時に行う場合(インタプリタを用いる)、その変換の分だけ実行速度が低下します。コンパイラを用いて、実行前に変換しておく方法を採ると、実行速度の低下はありませんが、その機械語を理解できるコンピュータ(CPU)でしか実行できないことになります(インタプリタの場合も、その CPU 向けのコードに変換できる必要はあるが)。

両者のあいだをとったような性質を持つのが中間コードで、いわば架空のコンピュータの機械語のようなかたちで表現されます。中間コードもそのままでは実行できず、オブジェクトコードに変換する必要がありますが、その役割を仮想マシンと呼ばれるソフトウェアが受け持ちます。中間コードを実行したいコンピュータ上で仮想マシンを実行し、仮想マシンが中間コードをオブジェクトコードに変換して実行します。機械語が異なるコンピュータが多種多様に存在しても、それぞれに対応した仮想マシンをあいだに挟むことで、どの環境でも実行が可能になります。

中間コードを使う方法も、実行時にオブジェクトコードへの変換が挟まるため、最初からオブジェクトコードになっている場合よりは遅くなるものの、中間コードからオブジェクトコードへの変換は、ソースコードからオブジェクトコードへの変換に比べてはるかに容易であり、処理速度の低下はわずかで済みます。

このような方式を採っているプログラミング言語に Java があります。プログラマーは、Java の文法に従ってソースコードを作成し、Java のコンパイラを用いて中間コードに変換します。実行には、Java の仮想マシンを含んだ、JRE (Java Runtime Environment) という実行環境が必要で、これがオブジェクトコードへの変換・実行を行います。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る