コンパイラとは?

辞典・百科事典の検索サービス - Weblio辞書

初めての方へ

参加元一覧


用語解説|動画|商品|全文検索
Weblio 辞書 > 同じ種類の言葉 > 情報 > コンピュータ > コンパイラ > コンパイラの意味・解説 

三省堂 大辞林

三省堂三省堂

OSS用語集

OSS iPediaOSS iPedia

コンパイラ

【英】:Compiler

何らかのプログラミング言語記述されたプログラムコンピュータ実行可能なコード変換し、その後実行するする言語システム一般にコンパイラ言語と呼ぶ。コンパイラは、その中でコード変換を行う中核部分もしくは、その技術の名称である。
一般に人間理解しやすい表現形式を持つ言語を「高級言語」と呼ぶが、この高級言語コンピュータ実行するには、大きくコンパイラ方式インタープリタ方式の2つがある。前者は、ソースプログラム読みこみ、実行可能な機械語からなるバイナリプログラムを出力し、その後実行を行う。インタープリタ方式では、ソースプログラム読みみながら解釈行い直接実行を行う。一般にコンパイラ言語のほうが実行効率がよいとされているが、中間言語方式など、両者方法取り入れたものなどもあれば、言語仕様によってはインタープリタでも高速実行が可能な場合もある。


IT用語辞典バイナリ

IT用語辞典バイナリIT用語辞典バイナリ

コンパイラ

【英】compiler

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

ソフトウェア開発に用いられるプログラミング言語には、アセンブラ言語のような低水準のもの(低級言語)から、より人間に近い表現が可能であるFortranCOBOLC言語C++PascalJavaC#といった高水準言語高級言語)まで多種である。高級言語プログラム作成した場合、そのソースコードは、計算機直接実行することはできないコンピュータ実行指示するためには、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などではビルドと呼んでいる(概念としては、コンパイルはビルドの過程のひとつである)。

コンパイル前のプログラムを特に「ソースコード」(原始コード)と呼び、反対にコンパイル後のプログラムを「オブジェクトコード」(目的コード)と呼んで区別する。

多くの場合、コンパイルされた機械語プログラムの実行は、インタプリタを介した実行より高速である。反面、開発時には動作テストのたびに比較的時間のかかるコンパイル作業が必要である。

コンパイラが出力するオブジェクトファイルは、実際に実行するコード以外に外部からの呼び出しをするための名前と、実行開始位置をセットにした情報を持っている場合があり、外部からコードを参照して実行することができる。場合によっては実行できるソフトウェアにするために、ほかのオブジェクトファイルとのリンクが必要なこともある。




「コンパイラ」の続きの解説一覧




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



コンパイラに関係した商品


コンパイラのページへのリンク
「コンパイラ」の関連用語
コンパイラのお隣キーワード
モバイル
モバイル版のWeblioは、下記のURLからアクセスしてください。
http://m.weblio.jp/
» モバイルで「コンパイラ」を見る
_ _   


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

  
三省堂三省堂
Copyright (C) 2001-2012 Sanseido Co.,Ltd. All rights reserved.
株式会社 三省堂三省堂 Web Dictionary
OSS iPediaOSS iPedia
Copyright © Information-technology Promotion Agency, Japan. All rights reserved 2006-2012
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2012 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリコンパイラの記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのコンパイラ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2012 Weblio RSS