ICDロゴ

インタープリタ型言語 (interpretive language)

【インタープリタ・ガタ・ゲンゴ】

最終更新日: 2003/03/25

 プログラムの実行時に、ソース・プログラムを逐次解釈し、実行可能形式に変換しながら処理を進める形式の言語処理系。「Interpret」は「(プログラムを機械語に)翻訳する」という意味。

 インタープリタ型言語の大きな特徴は、実行時にプログラム・コードの解釈を行うため、ソース・プログラムを記述してすぐに実行できるという手軽さにある。インタープリタ型言語に対し、ソース・プログラムを、始めから終わりまですべて実行可能形式(通常は機械語コード)に変換してから実行するというコンパイラ型言語では、ソース・プログラムの変更→コンパイル処理→リンク処理(ライブラリなどとコンパイルしたオブジェクト・コードをリンクする)→実行という手間がかかる。ちょっとしたプログラムでは、実行テストを繰り返しながら、ソース・コードを作成するということがよくある。このような場合、コンパイラ型言語では、ソース・コードを修正するたびにコンパイルやリンク処理が必要になってしまう。

 一方インタープリタ型言語の欠点は、実行時にソース・プログラムの解釈を逐次実行しているため、いったんコンパイラを通してすべてを機械語コードに変換した場合よりも、プログラムの実行速度が低下してしまうことである。そのため、あらかじめ簡単なコンパイルのような作業を行っておき(構文チェックを先にすませておくとか、予約語を内部コードに置き換えておくなど)、実行速度を向上させる工夫も組み合わせて実行速度の向上を図る場合が多い。

 代表的なインタープリタ型言語としては、BASIC、JavaScript、Perl、LISPなどがある(ただし、これらをコンパイラ型の処理系として実装できないわけではないし、実際そのような処理系も存在する)。

Copyright (C) 2000-2007 Digital Advantage Corp.

アイティメディアの提供サービス

キャリアアップ