インタプリタ 【interpreter】
概要
インタプリタ(interpreter)とは、人間に分かりやすい高水準プログラミング言語(高級言語)で書かれたコンピュータプログラムを、コンピュータが解釈・実行できる形式に変換しながら同時に少しずつ実行していくソフトウェア。“interpreter” の原義は「通訳者」で、人間などがプログラミング言語で記述したソースコードを処理の流れの順に少しずつ読み込んでいき、内容を解析して実行可能なプログラムに変換し、即座に実行する。変換と実行を逐次的に繰り返し行い、処理を進めていく。
コンパイラやアセンブラなどで一括して変換してから実行する方式に比べ、ソースコードを与えれば即座に実行開始できるため、開発や修正をテンポよく進めることができる。ただし、変換にかかるオーバーヘッドの分だけ実行速度やメモリ使用量では劣る。
インタプリタによる実行を前提とする場合はプログラムの配布をソースコードで行うことになるが、環境ごとに変換済みのバイナリコードを用意しなくてよく、インタプリタさえ用意されていれば様々な環境で動作させられる。反面、利用者にソースコードを必ず提供することになるため、商用ソフトウェアなどではこの点が忌避されることもある。
現代では実行方式を工夫する言語や処理系もある。例えば、ソースコードではなく仮想的なCPUの機械語である中間コードやバイトコードに変換したプログラムをインタプリタに与える方式や、実行開始時に自動的にコンパイルを行って機械語コードに変換してから実行する方式などがある。
標準の言語処理系をインタプリタとする言語は「スクリプト言語」(script language)あるいは「軽量言語」(lightweight language)と呼ばれることがある。プログラムの入力画面とインタプリタを一体化した実行環境は「REPL」(Read-Eval-Print Loop)という。
(2025.8.25更新)