インタープリター

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
インタプリタ言語から転送)
ナビゲーションに移動 検索に移動

インタープリターとは、プログラミング言語で書かれた命令を読み取って処理を実行するコンピュータープログラムのことであり、プログラミング言語の処理系の一つである。

概要[編集]

直訳すると「通訳者」である。プログラミングにおいては、逐語訳を行う処理系という意味合いで使われる。

すなわち、スクリプト言語では、コンパイルなどの事前処理を行わずに直接プログラムのソースコードを読み込ませてプログラムを実行する。これを請け負うのがインタープリターである。

インタープリターのごく単純な実装では、ソースコードはコマンドの羅列なので、それを「逐次実行」していくものである。

より抽象的な概念を扱えるようにするには、ソースコードを中間モデルに翻訳してから、より低水準の処理に変換していく方式が考えられる。

特徴[編集]

  • 単純な「逐次実行」では処理が遅い。そのため各種の最適化[1]を施すことで性能を向上させる試みが為されている。
  • 「逐次実行」ゆえにデバッグしやすいというメリットがある。

様々なインタープリター[編集]

  • コマンドラインインタープリター:UNIXLinuxにおけるUnixシェル、Windowsにおけるコマンドプロンプト、およびPowerShellなど「対話型」でコマンド入力・結果出力を得る「コマンドラインシェル」もインタープリターの一種。シェルスクリプト、またはバッチファイルを記述してシェルへ渡すことで、対話型ではない自動処理をさせることが出来る。
  • Windows Script Host:Windowsにおいて、バッチファイルの欠点を補うべくWindows Script Hostが登場したが、逆に強力過ぎてセキュリティ問題が生じ、PowerShellへの移行が勧められている。
  • 一部のプログラミング言語、例えばPerl、およびPythonは最初からコンパイルせずコードを逐次実行するよう意図されている。
  • 高機能テキストエディタなどの一部アプリケーションには組み込みインタープリターを備え、スクリプトを記述して実行させることにより、自身を自動制御したり他アプリケーションと連携したりできるものがある。Emacs(Lisp方言)、秀丸エディタ(C言語に似た独自言語)が知られている。

脚注[編集]

  1. これは処理系固有の情報が多く、簡単には説明できないので、知りたい方はそれぞれの処理系の最適化について調べてください。

関連項目[編集]

スクリプト言語