インタプリタ 【interpreter】

概要

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

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

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

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

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

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

(2025.8.25更新)

開発環境の用語一覧

試験出題履歴

ITパスポート試験 : 平25秋 問55
基本情報技術者試験 : 令6修6 問14 令2修6 問19 令1修12 問18 平31春 問19 平30修6 問20 平28修12 問19 平27修6 問20 平26修7 問19 平26修1 問25 平24修6 問25 平23春 問23 平22修6 問25