三省堂 大辞林 |
コンパイラー 3 [compiler]
OSS用語集 |
コンパイラ
何らかのプログラミング言語で記述されたプログラムをコンピュータが実行可能なコードに変換し、その後実行するする言語システムを一般にコンパイラ言語と呼ぶ。コンパイラは、その中でコード変換を行う中核部分もしくは、その技術の名称である。
一般に人間が理解しやすい表現形式を持つ言語を「高級言語」と呼ぶが、この高級言語をコンピュータが実行するには、大きくコンパイラ方式とインタープリタ方式の2つがある。前者は、ソースプログラムを読みこみ、実行可能な機械語からなるバイナリプログラムを出力し、その後実行を行う。インタープリタ方式では、ソースプログラムを読みこみながら、解釈を行い、直接実行を行う。一般にコンパイラ言語のほうが実行効率がよいとされているが、中間言語方式など、両者の方法を取り入れたものなどもあれば、言語仕様によってはインタープリタでも高速な実行が可能な場合もある。
IT用語辞典バイナリ |
コンパイラ
コンパイラとは、特定のプログラミング言語で記述されたソースコードを読み込み、ターゲットとなるコンピュータ、あるいは、バーチャルマシンが直接実行できる命令語に変換するソフトウェアのことである。
ソフトウェア開発に用いられるプログラミング言語には、アセンブラ言語のような低水準のもの(低級言語)から、より人間に近い表現が可能であるFortran、COBOL、C言語、C++、Pascal、Java、C#といった高水準の言語(高級言語)まで多種である。高級言語でプログラムを作成した場合、そのソースコードは、計算機で直接実行することはできない。コンピュータに実行を指示するためには、CPUが解釈できる機械語で記述された実行プログラムを、あらかじめ記憶装置に格納しておいてから計算機の動作を開始させる必要がある。コンパイラは、あらかじめ高級言語のソースコードを読み込み、実行対象となる計算機のCPUが解釈可能な機械語へと変換するために用いられる。
コンパイラを用いてソースコードを機械語に変換する処理そのものは、コンパイルと呼ばれる。
コンパイラが、最終ターゲットであるCPU固有の機械語を出力する場合、そのコンパイラは特にネイティブコンパイラと呼ばれ、その処理はネイティブコンパイルと呼ばれる。対して、Java仮想マシンのような仮想的な論理計算機をターゲットにしてコンパイルを行うようなコンパイラは、中間言語コンパイラと呼ばれる。中間言語コンパイラにより出力された、中間言語のプログラムを実行するのは、ネイティブな計算機ではなく、Java仮想マシンのようなインタープリタということになる。インタープリタが実行時に、中間言語の一部を部分的にネイティブの機械語に変換してから実行する場合は、動的コンパイル、あるいはジャストインタイムコンパイルと呼ばれる。動的コンパイルに対して、通常のコンパイルは、実行に先立ってあらかじめコンパイルしておくという意味で、事前コンパイル(プリコンパイル)と呼ばれる。
プログラミング言語のうち、高級言語を用いて作成されたプログラムは、特定のターゲットCPUに依存しない。コンパイル時にターゲットCPU向けのコンパイラを用いることにより、特定CPU向けの実行コードを得ることができるため、最終的に任意の計算機で実行できることになる。なお、中間言語方式のコンパイラの場合、コンパイル作業自体は1回だけ行えば、同じ中間言語プログラムをさまざまな計算機上で実行することができる。この場合、コンパイラは1種類で済むものの、コンパイル結果の中間言語プログラムを解釈実行するインタープリタ、あるいは仮想計算機が、ターゲットとなる計算機の種類の分だけ用意する必要がある。
ソフトウェアの規模がある程度以上となる場合、ソフトウェアをモジュールに分割して、モジュールごとにコンパイルを行うこともある。この作業は、特に分割コンパイルと呼ばれる。分割コンパイルを行った場合、その出力としてオブジェクトコードと呼ばれるモジュール単位の出力が得られる。実行に際しては、出力されたオブジェクトコードを一つにまとめ上げ、実行形式のファイルを作成する必要がある。このような操作がリンクと呼ばれる。リンクにより、モジュールごとに記述されている変数やコードが相互に参照できるように相対アドレスの解決を行う。
なお、世界で最初に実用化されたコンパイラは、1957年に開発されたFortranコンパイラである。1960年には、複数のアーキテクチャに対応したCOBOLコンパイラが開発された。1962年には、LISP言語で記述されたLISPコンパイラで自分自身をコンパイルするセルフホスティングコンパイラが初めて開発されている。
ウィキペディア |
コンパイラ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2012/01/14 03:10 UTC 版)
コンパイラ(compiler)とは、プログラミング言語で書かれたプログラムを、コンピュータが直接実行可能な機械語のプログラムに変換するソフトウェアである。また、コンパイラによる変換工程をコンパイルと呼ぶ。Visual Studioなどではビルドと呼んでいる(概念としては、コンパイルはビルドの過程のひとつである)。
コンパイル前のプログラムを特に「ソースコード」(原始コード)と呼び、反対にコンパイル後のプログラムを「オブジェクトコード」(目的コード)と呼んで区別する。
多くの場合、コンパイルされた機械語プログラムの実行は、インタプリタを介した実行より高速である。反面、開発時には動作テストのたびに比較的時間のかかるコンパイル作業が必要である。
コンパイラが出力するオブジェクトファイルは、実際に実行するコード以外に外部からの呼び出しをするための名前と、実行開始位置をセットにした情報を持っている場合があり、外部からコードを参照して実行することができる。場合によっては実行できるソフトウェアにするために、ほかのオブジェクトファイルとのリンクが必要なこともある。
- 1 コンパイラとは
- 2 コンパイラの概要
- 3 簡単な例
- 4 参考文献
- 5 関連項目
コンパイラと同じ種類の言葉
コンパイラに関係した商品
- 【送料無料】コンパイラ第2版楽天ブックス
- 【送料無料】コンパイラとバ-チャルマシン楽天ブックス
- 【送料無料】 コンパイラとバーチャルマシン IT TEXT / 今城哲二 【単行本】HMV ローソンホットステーション R