Skip to the content.

最終更新日:2026年8月12日

まず結論

言語プロセッサとは、プログラムや条件を受け取り、変換・解釈・生成などの処理を行うソフトウェアです。

基本情報技術者試験では、用語名を丸暗記するより、「何を入力して、何をするのか」で切り分けると判断しやすくなります。

アセンブリ言語 → 機械語
→ アセンブラ

高水準言語 → まとめて変換
→ コンパイラ

高水準言語 → 逐次解釈して実行
→ インタプリタ

条件・パラメータ → プログラムを生成
→ ジェネレータ

ある処理系用のプログラム → 別の処理系用のプログラム
→ トランスレータ

別のコンピュータ環境の動作を再現
→ エミュレータ

試験中は、変換なのか、実行なのか、生成なのかを最初に確認するのがポイントです。

直感的な説明

言語プロセッサは、「プログラムを別の形にしたり、実行したり、作ったりする道具」と考えると分かりやすいです。

例えば、文章を扱う道具にたとえると次のようになります。

別の言葉へ翻訳する
→ 変換系

文章を読みながら意味を実行する
→ インタプリタ

条件を指定して文章そのものを作る
→ ジェネレータ

特に混同しやすいのが、変換するもの生成するものです。

すでにあるプログラムを別の形へ変える
→ 変換

条件を与えて新しいプログラムを作る
→ 生成

この違いが分かると、ジェネレータをかなり見抜きやすくなります。

定義・仕組み

代表的な言語プロセッサや関連ソフトウェアを整理すると、次のようになります。

用語 主な入力 主な処理・結果
アセンブラ アセンブリ言語 機械語へ変換する
コンパイラ 高水準言語 まとめて目的プログラムなどへ変換する
インタプリタ 高水準言語 逐次解釈しながら実行する
ジェネレータ 条件・パラメータ 条件に応じたプログラムを生成する
トランスレータ ある処理系用の原始プログラム 別の処理系用の原始プログラムへ変換する
エミュレータ 別環境向けのプログラムや動作 別のコンピュータ環境を模擬して実行する

アセンブラ

アセンブラは、アセンブリ言語で書かれたソースコードを機械語へ変換します。

アセンブリ言語
↓
Assembler
↓
機械語

「ある処理系用のプログラムを別の処理系用へ変換する」という説明ではありません。

コンパイラ

コンパイラは、高水準言語で書かれたプログラムを、目的プログラムなどへまとめて変換します。

高水準言語
↓
Compiler
↓
目的プログラム

関連する実行までの流れは、リンカ(Linker)とは?コンパイラ・ローダ・デバッガとの違いでも整理しています。

インタプリタ

インタプリタは、ソースコードを逐次解釈しながら実行します。

ソースコード
↓
解釈
↓
実行
↓
次の部分を解釈

問題文に「解釈しながら実行する」とあれば、インタプリタを考えます。

ジェネレータ

ジェネレータは、入力・処理・出力などの条件やパラメータを指定することで、目的に応じたプログラムを自動生成します。

条件・パラメータ
↓
Generator
↓
プログラム

ここで重要なのは、既存のプログラムを別形式へ変換するのではなく、条件からプログラムそのものを作る点です。

トランスレータ

トランスレータは、ある処理系用に書かれた原始プログラムを、別の処理系用の原始プログラムへ変換します。

処理系A用の原始プログラム
↓
Translator
↓
処理系B用の原始プログラム

「別の処理系用へ変換」という表現が強い手掛かりになります。

エミュレータ

エミュレータは、別のコンピュータや処理系の動作環境を模擬するものです。

本来は環境Aで動くプログラム
↓
環境B上の Emulator
↓
環境Aの動作を再現して実行

変換するのではなく、別環境の動きを再現して実行するのがポイントです。

公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、説明文から該当する言語プロセッサを選ばせる形で出題されます。

まず、次の順番で確認します。

1. 何を入力している?
2. 何をしている?
3. 何が出てくる?

選択肢を切るときは、次のキーワードが有効です。

問題文の表現 考える用語
アセンブリ言語を機械語へ アセンブラ
高水準言語をまとめて変換 コンパイラ
解釈しながら実行 インタプリタ
パラメータを指定してプログラムを生成 ジェネレータ
ある処理系用から別の処理系用へ変換 トランスレータ
別のコンピュータ環境を模擬 エミュレータ

特に、次の2つは混同しやすいので注意します。

既存プログラム → 別のプログラムへ変換
→ トランスレータなど

条件・パラメータ → 新しいプログラムを作る
→ ジェネレータ

また、

高水準言語を解釈しながら実行する

ならインタプリタです。

「実行」という言葉があっても、別環境を模擬して動かすのであればエミュレータなので、何を実行しているのかまで見ます。

どんな場面で使う?

言語プロセッサは、プログラムを作成して実行できる形にしたり、開発を効率化したりするときに使われます。

プログラムを変換する

アセンブリ言語 → 機械語
高水準言語 → 目的プログラム
処理系A用 → 処理系B用

のように、すでにあるプログラムを別の形へ変換します。

プログラムをその場で実行する

インタプリタでは、ソースコードを解釈しながら処理を進めます。

定型的なプログラムを自動生成する

同じ構造のプログラムを何度も作る場合、条件やパラメータを指定して自動生成すると、作業を効率化できます。

入力項目
処理条件
出力形式
↓
ジェネレータ
↓
目的に応じたプログラム

よくある誤解・混同

混同しやすい点 正しい理解
アセンブラは別処理系向けへ変換する アセンブラはアセンブリ言語を機械語へ変換する
インタプリタは別コンピュータを模擬する インタプリタはソースコードを逐次解釈・実行する
ジェネレータは既存プログラムを翻訳する 条件やパラメータからプログラムを生成する
トランスレータは解釈しながら実行する ある処理系用から別の処理系用へ変換する
エミュレータはソースコードを変換する 別のコンピュータ環境の動作を模擬する

ジェネレータとトランスレータの違い

ここは特に重要です。

元になるプログラムがある
↓
別の処理系用へ変換
→ トランスレータ

元になるプログラムではなく、条件を与える
↓
プログラムを作る
→ ジェネレータ

英語の感覚も役立ちます。

generate  = 作り出す
translate = 翻訳する
interpret = 解釈する
emulate   = 模倣する

用語名だけでなく、英単語の意味と役割を結び付けると覚えやすくなります。

まとめ(試験直前用)

  • アセンブラは アセンブリ言語 → 機械語
  • コンパイラは 高水準言語をまとめて変換
  • インタプリタは 逐次解釈しながら実行
  • ジェネレータは 条件・パラメータ → プログラム生成
  • トランスレータは ある処理系用 → 別の処理系用へ変換
  • エミュレータは 別のコンピュータ環境を模擬
  • 迷ったら 入力 → 処理 → 出力 の順に見る

© 2024-2026 stemtazoo. All rights reserved.