コンパイラとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 情報 > コンピュータ > コンパイラ > コンパイラの意味・解説 

コンパイラ

【英】compiler

コンパイラとは、特定のプログラミング言語記述されソースコード読み込みターゲットとなるコンピュータ、あるいは、バーチャルマシン直接実行できる命令語に変換するソフトウェアのことである。

ソフトウェア開発用いられるプログラミング言語には、アセンブラ言語のような水準のもの(低級言語)から、より人間に近い表現が可能であるFortranCOBOLC言語、C++PascalJavaC#といった高水準言語高級言語)まで多種である。高級言語プログラム作成した場合、そのソースコードは、計算機直接実行することはできないコンピュータ実行指示するためには、CPU解釈できる機械語記述され実行プログラムを、あらかじめ記憶装置格納しておいてから計算機動作開始させる必要がある。コンパイラは、あらかじめ高級言語ソースコード読み込み実行対象となる計算機CPU解釈可能な機械語へと変換するために用いられる

コンパイラを用いてソースコード機械語変換する処理そのものは、コンパイル呼ばれる

コンパイラが、最終ターゲットであるCPU固有の機械語出力する場合、そのコンパイラは特にネイティブコンパイラと呼ばれ、その処理はネイティブコンパイルと呼ばれる対してJava仮想マシンのような仮想的な論理計算機をターゲットにしてコンパイルを行うようなコンパイラは、中間言語コンパイラと呼ばれる中間言語コンパイラにより出力された、中間言語プログラム実行するのは、ネイティブ計算機ではなくJava仮想マシンのようなインタープリタということになる。インタープリタ実行時に、中間言語一部部分的にネイティブ機械語変換してから実行する場合は、動的コンパイル、あるいはジャストインタイムコンパイル呼ばれる動的コンパイルに対して通常のコンパイルは、実行先立ってあらかじめコンパイルしておくという意味で、事前コンパイルプリコンパイル)と呼ばれる

プログラミング言語のうち、高級言語用いて作成されプログラムは、特定のターゲットCPU依存しないコンパイル時にターゲットCPU向けのコンパイラを用いることにより、特定CPU向けの実行コードを得ることができるため、最終的に任意の計算機実行できることになる。なお、中間言語方式のコンパイラの場合コンパイル作業自体1回だけ行えば、同じ中間言語プログラムさまざまな計算機上で実行することができる。この場合、コンパイラは1種類で済むものの、コンパイル結果中間言語プログラム解釈実行するインタープリタ、あるいは仮想計算機が、ターゲットとなる計算機種類の分だけ用意する必要がある

ソフトウェア規模ある程度以上となる場合ソフトウェアモジュール分割してモジュールごとにコンパイルを行うこともある。この作業は、特に分割コンパイル呼ばれる分割コンパイル行った場合、その出力としてオブジェクトコード呼ばれるモジュール単位出力得られる実行に際しては、出力されオブジェクトコード一つにまとめ上げ実行形式ファイル作成する必要があるこのような操作がリンクと呼ばれる。リンクにより、モジュールごとに記述されている変数コード相互に参照できるように相対アドレスの解決を行う。

なお、世界で最初に実用化されたコンパイラは、1957年開発されFortranコンパイラである。1960年には、複数アーキテクチャ対応したCOBOLコンパイラが開発された。1962年には、LISP言語記述されLISPコンパイラで自分自身コンパイルするセルフホスティングコンパイラが初め開発されている。

プログラミングのほかの用語一覧
開発環境:  逆コンパイル  共有ライブラリ  行番号  コンパイラ  コンパイル  コンパイルエラー  クラスライブラリ




コンパイラと同じ種類の言葉

このページでは「IT用語辞典バイナリ」からコンパイラを検索した結果を表示しています。
Weblioに収録されているすべての辞書からコンパイラを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からコンパイラ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コンパイラ」の関連用語

コンパイラのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コンパイラのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【コンパイラ】の記事を利用しております。

©2025 GRAS Group, Inc.RSS