インタプリタとは?
いんたぷりた
プログラムのソースコードを1行ずつ読み取り、その場で解釈・実行するソフトウェアのことです。
インタプリタ(interpreter)とは、プログラムのソースコードを事前に機械語へ変換することなく、1行(または1命令)ずつ読み込みながら逐次解釈・実行するソフトウェアのことです。「通訳者」という英語の原義のとおり、人間が書いたコードをコンピュータが理解できる形にリアルタイムで翻訳しながら動かします。
インタプリタの動作は、大きく以下のステップで行われます。
- ソースコードを読み込んでトークン(単語)に分解(字句解析)
- 文法構造を解析して構文木を生成(構文解析)
- 構文木を順に評価し、命令を実行(評価・実行)
インタプリタ方式の対比となるのがコンパイラ方式で、こちらはプログラム全体を先に機械語へ翻訳してから実行します。両者の主な違いを整理すると、インタプリタは即座に実行でき対話的な操作に向いている一方、毎回解釈処理が入るため実行速度はコンパイラより遅くなる傾向があります。
インタプリタ方式を採用した代表的な言語には Python・Ruby・JavaScript・PHP などがあります。ただし現代では純粋なインタプリタはまれで、多くはソースコードをいったんバイトコードに変換してから仮想マシン上で実行するハイブリッド方式を採っています。
プログラミング学習や素早い試作(プロトタイピング)においては、ファイルを保存せず対話的にコードを実行できる「REPL(Read-Eval-Print Loop)」環境がインタプリタの利点を最大限に活かした使い方です。
使い方・例文
Python の対話モードで print(「Hello」) と入力してすぐ結果が表示されるのは、インタプリタがその場でコードを解釈・実行しているためです。スクリプト言語の開発現場では、修正したコードを即座に確認できる点が重宝されます。
この用語をシェア
最終更新: