基本情報暗記無料で始める

コンパイラとは?こんぱいら

コンパイラとは、人が書いた原始プログラム(ソースプログラム)を、実行する前にまとめて機械語の目的プログラムへ翻訳するソフトウェア。翻訳は字句解析(単語に切り分ける)→構文解析(文法どおりか調べる)→意味解析→最適化→コード生成の順に進む。翻訳を先に済ませるので、1文ずつ解釈しながら動かすインタプリタより実行は速いが、直すたびに翻訳し直す手間がかかる。最適化は「同じ動作のまま、より速く・小さく動く目的プログラムを作る」工程で、プログラムの結果を変えるものではない。

最終更新:2026-10-10

試験情報

基本情報技術者試験の過去問では3回出題され、ほかに4問の解説で触れられています(2016年度〜2022年度)。

基本情報技術者試験の頻出用語/テクノロジ系

別名:コンパイラー

この語が出る過去問を解く →

背景

コンピュータが直接動かせるのは0と1の機械語だけで、初期のプログラムは機械語や、それを記号に置き換えただけのアセンブラ言語で書かれていた。CPUごとに命令が違い、人が読んで直すのも大変だったため、人に近い言葉(高水準言語)で書いたものを機械が機械語へ一括で訳す仕組みとして生まれた。

具体例

大学の演習でC言語のプログラムを書き、gcc というコンパイラで翻訳すると、実行ファイル(Windowsなら .exe)ができる。この実行ファイルは翻訳し直さずに何度でも動かせる。ただしソースを1行直したら、もう一度コンパイルしないと変更は反映されない。分かれたファイルを1本の実行ファイルにまとめるのは、コンパイラの次に動くリンカの仕事。

試験での引っ掛け

最適化を「プログラムの誤りを直す」「動作を変えて速くする」と書いた選択肢は誤り。最適化は動作を変えずに効率を上げるだけ(fe-2016h-am-19)。また、別ファイルの関数への参照を結び付けるのはコンパイラではなくリンカ、主記憶へ読み込むのはローダ。「1文ずつ解釈して実行する」はインタプリタの説明で、コンパイラと向きが逆。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では3回出題(2016年度〜2022年度)
  • 分野:テクノロジ系
  • 最適化を「プログラムの誤りを直す」「動作を変えて速くする」と書いた選択肢は誤り。