インタプリタ【interpreter】

概要

インタプリタとは、人間に分かりやすい高水準プログラミング言語高級言語)で書かれたコンピュータプログラムを、コンピュータが解釈・実行できる形式に変換しながら同時に少しずつ実行していくソフトウェア。
インタプリタのイメージ画像

“interpreter” の原義は「通訳者」で、人間などがプログラミング言語で記述したソースコードを処理の流れの順に少しずつ読み込んでいき、内容を解析して実行可能なプログラムに変換し、即座に実行する。変換と実行を逐次的に繰り返し行い、処理を進めていく。

コンパイラアセンブラなどで一括して変換してから実行する方式に比べ、ソースコードを与えれば即座に実行開始できるため、開発や修正をテンポよく進めることができる。ただし、変換にかかるオーバーヘッドの分だけ実行速度やメモリ使用量では劣る。

インタプリタによる実行を前提とする場合はプログラムの配布をソースコードで行うことになるが、環境ごとに変換済みのバイナリコードを用意しなくてよく、インタプリタさえ用意されていれば様々な環境で動作させられる。反面、利用者にソースコードを必ず提供することになるため、商用ソフトウェアなどではこの点が忌避されることもある。

現代では実行方式を工夫する言語や処理系もある。例えば、ソースコードではなく仮想的なCPU機械語である中間コードバイトコードに変換したプログラムをインタプリタに与える方式や、実行開始時に自動的にコンパイルを行って機械語コードに変換してから実行する方式などがある。

標準の言語処理系をインタプリタとする言語は「スクリプト言語」(script language)あるいは「軽量言語」(lightweight language)と呼ばれることがある。プログラムの入力画面とインタプリタを一体化した実行環境は「REPL」(Read-Eval-Print Loop)という。

(2025.8.25更新)

他の用語辞典による「インタプリタ」の解説 (外部サイト)

資格試験などの「インタプリタ」の出題履歴

▼ ITパスポート試験
平25秋 問55】 プログラムの実行方式としてインタプリタ方式とコンパイラ方式がある。図は、データを入力して結果を出力するプログラムの、それぞれの方式でのプログラムの実行の様子を示したものである。

▼ 基本情報技術者試験
令6修6 問14】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
令2修6 問19】 インタプリタの説明として,適切なものはどれか。
令1修12 問18】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平31春 問19】 インタプリタの説明として,適切なものはどれか。
平30修6 問20】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平28修12 問19】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平27修6 問20】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平26修7 問19】 インタプリタの説明として,適切なものはどれか。
平26修1 問25】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平24修6 問25】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平23春 問23】 Javaなどのバイトコードプログラムをインタプリタで実行する方法と,コンパイルしてから実行する方法を,次の条件で比較するとき,およそ何行以上のバイトコードであれば,コンパイル方式の方がインタプリタ方式よりも処理時間(コンパイル時間も含む)が短くなるか。
平22修6 問25】 インタプリタの説明として,適切なものはどれか。