コンパイラ
Compiler
こんぱいら
高水準言語のソースコードを機械語(オブジェクトコード)に一括変換する言語処理プログラム。字句解析、構文解析、意味解析、最適化、コード生成の工程を経て翻訳する。インタプリタと異なり実行前に全体を変換するため実行速度が速い。
基礎理論 > 情報に関する理論
他の資格での定義
関連キーワードの用語
FEインタプリタ
ソースコードを1行ずつ解釈しながら即座に実行する言語処理プログラム。コンパイラと異なり事前の変換が不要で開発・デバッグが容易だが、実行速度はコンパイラ方式より遅い。Python、JavaScriptなどで使用される。
FEリンカ
コンパイラが生成した複数のオブジェクトファイルやライブラリを結合し、実行可能なプログラムを生成するツール。静的リンク(コンパイル時結合)と動的リンク(実行時結合)がある。連結編集プログラムとも呼ばれる。
FEローダ
実行可能プログラムを主記憶装置に読み込み、実行を開始するためのプログラム。再配置(リロケーション)を行い、プログラムが主記憶上の任意の位置で実行できるようにする。
APインタプリタ
ソースコードを1文ずつ逐次解釈・実行する言語処理系。コンパイル不要で即時実行できるため開発効率が高いが、実行速度はコンパイラ方式より一般に遅い。PythonやRubyのインタプリタが代表例。JITコンパイラと組み合わせて高速化する手法もある。
APリンカ
コンパイラが生成した複数のオブジェクトモジュールとライブラリを結合し、実行可能ファイルを生成するソフトウェア。外部参照の解決やアドレスの再配置を行う。静的リンクと動的リンク(DLL/共有ライブラリ)がある。
FEIDE
ソフトウェア開発に必要なエディタ、コンパイラ、デバッガ、ビルドツールなどを統合した開発環境。コード補完や構文チェックなどの機能により開発効率を向上させる。Visual StudioやEclipseが代表的。