コンパイラによって効率的な中間表現に変換されたものを実行するものもある。">
授業の要点が分かる学生のための学習辞典サイト

インタプリタ【いんたぷりた】

インタプリタ(interpreter)とは通訳者(つうやくしゃ)にあたる英語であるが、IT用語では、人間がプログラミング言語で書いたコンピュータプログラム(ソースコード)などを、コンピュータが実行できる形式(オブジェクトコード) に逐次変換しながら実行するプログラムのことである。インタプリタはソースコードを直接実行するものだけではなく、コンパイラによって効率的な中間表現に変換されたものを実行するものもある。

関連した単語

ソースコードとオブジェクトコード

ソースコードとはプログラミング言語で記述されたテキストのことである。エディターなどのソフトウェアを使って作成され、ソースプログラムを実際に動作させるには、コンピュータが理解できる2進数の機械語に変換する必要がある。オブジェクトコードとはコンパイラやインタプリタなどによって、プログラムを使用するコンピュータに合った機械語に変換されたプログラムの事である。

プログラミング言語

コンピュータのプログラムを作成するための言語のことであり、コンピュータが直接実行・処理できる機械語でプログラムを作る代わりに、人間に理解できるような形式で計算の過程を算術式の形などで表現した言語の事である。BSIC・COBOL(コボル)・C言語やPerl(パール)・Java(ジャバ)などがある。プログラミング言語のうち、機械語や、機械語に近い言語(アセンブリ言語など)は低水準言語と呼ばれ、ハードウェアに近い言語を意味する。低水準言語はコンピュータを直接制御することのできるため、CPUやハードウェアの固有の機能もフルに利用することができるが、ハードウェアによって仕様がまちまちであるため、汎用性は低い。 反対に、プログラミング言語のうち、人間が記述しやすいよう自然言語に近い記法や構文を取り入れた言語は高水準言語と呼ばれ、人間の利用する言語に近い言語であることを意味する。 高水準言語を使って記述したプログラム(ソースコード)は、実行可能なプログラム(オブジェクトコード)に変換されてから実行される。 機械語への変換の仕方により、開発時にまとめて変換するコンパイラ言語と、実行時に逐次変換しながら実行するインタプリタ言語に分けられ、それぞれの変換ソフトは「コンパイラ」(compiler)、「インタプリタ」と呼ばれる。高水準言語はハードウェアの仕様とは切り離された抽象的な言語なため、様々なプラットフォームで動作する汎用ソフトウェアの開発に向いている。

コンパイラとの比較

ソフトウェアの開発中にはソースコードに頻繁に手を加える必要があるが、インタプリタではインタプリタ型のソースコードを1行ごとにそのまま実行するか中間表現に変換するだけなので、修正がうまくいったかどうかをより素早くテストできて、記述の誤りを発見しやすいという利点がある。コンパイラの場合、ソースコードを変更するたびにコンパイルして実行ファイルを完成させないとプログラムをテストできないので、待っている時間が長くなる。 インタプリタの短所は、コンパイラに比べて処理速度が遅くなるという事である。コンパイラではプログラム内の文の解析を実行前に1回だけ行うが、インタプリタではそれを文ごとに実行時に毎回行う上に、インタプリタでは変数にアクセスする際も識別子とメモリ上の位置のマッピングを実行中に何度も確認しなければならないので、性能が悪くなる。現在ではインタプリタとコンパイラそれぞれの利点を生かす様々な変換方法が考案されており、相互排他的に2つに分類できるわけではない。

問題

インタプリタの長所と短所を述べなさい。

答えを見る

カテゴリ内ランキング

cacicoテキスト買取
cacicoテキスト