【いんたぷりた】
インタプリタ とは?
最終更新:
💡 命令を読み取り、処理を進める「通訳役」
プログラムのコードや中間命令を解釈して、その処理を実行するソフトウェア。ソースを1行ずつ機械語に翻訳するとは限らず、コンパイラと組み合わせる処理系もある。
📌 このページのポイント
インタプリタはコンパイラと何が違うの?
コンパイラはコードを別の形式へ変換するソフト、インタプリタはコードや命令を解釈して実行するソフトだよ。変換と実行という役割の違いで、同じ処理系で両方を使うこともあるんだ。
コードを1行ずつ読むんじゃないの?
必ずそうではないよ。繰り返しや関数呼び出しがあるし、複数行で1つの処理を書くこともある。インタプリタが扱う命令と、ソースの行を同じものとして考えないんだ。
JavaScriptではどうなっているの?
V8という処理系にはIgnitionというインタプリタがあるよ。バイトコードを実行し、実行中の情報を使うJITコンパイラとも組み合わせる。JavaScriptのすべての処理系が同じ構成、というわけではないんだ。
インタプリタなら必ず遅いの?
速さは処理系、コード、最適化や実行条件によるよ。書いて試しやすい環境はあるけれど、言語名だけで速度を決めつけず、必要な処理で確かめるんだ。
まとめ:ざっくりこれだけ覚えればOK!
「インタプリタ」って出てきたら「コードや命令を解釈して実行するソフト」と思えばだいたいOK!
📖 おまけ:英語の意味
「Interpreter」 = 通訳者・解釈者
💬 命令を解釈して処理を進める役割を「通訳者」にたとえた名前だよ。必ずソースを1行ずつ機械語へ翻訳する、という意味ではないんだ