インタプリタ(interpreter)とは?
プログラムを実行する際の方式には、主に2つの方法があります。一つはコンパイラ(compiler)を使ってプログラムを翻訳し、別のファイルに保存してから実行する方法です。もう一つは、インタプリタ(interpreter)を使って、プログラムを逐次的に翻訳しながら実行する方法です。
インタプリタの場合、プログラムを読み込んでから、文を1つずつ解析しながら実行していきます。つまり、プログラムを翻訳してから実行するわけではなく、実行しながら翻訳を行うため、実行速度がコンパイラに比べて遅くなりがちです。
しかし、インタプリタにはメリットもあります。例えば、プログラムの修正が容易であることや、プログラムを実行する環境に依存しないことなどが挙げられます。また、インタプリタ言語には、RubyやPythonなどのスクリプト言語があります。これらの言語は、インタプリタによって逐次的に実行されることで、書きやすく、柔軟性が高くなっています。
プログラム実行プロセスの流れ
インタプリタのプログラム実行プロセスは、以下のような流れになります。
- プログラムを読み込む
- 文法エラーのチェック
- プログラムを解析し、トークンに分割する
- トークンを実行可能な命令に翻訳する
- 翻訳された命令を実行する
- 2~5をプログラムが終了するまで繰り返す
このように、インタプリタは逐次的にプログラムを解析し、実行可能な命令に翻訳しながら、プログラムを実行していきます。
まとめ
インタプリタは、プログラムを逐次的に翻訳しながら実行する方法です。コンパイラに比べると実行速度が遅くなるというデメリットがありますが、プログラムの修正が容易であるなどのメリットもあります。インタプリタを使うことで、柔軟性の高いプログラムを作成することができます。
参考記事
合わせて読みたい
【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版