インタプリタ

インタプリタについて
大川 愛加
インタプリタとは??
• インタプリタ(interpreter)とは、プログラミング
言語で書かれたソースコードを逐次解釈しな
がら実行するソフトウェアである。
• プログラムの実行に主としてインタプリタが用
いられるプログラミング言語をインタプリタ言
語と呼ぶ。
コンパイラとの違い
• コンパイラ方式を用い
た場合
ソースプログラム
コンパイル
機械語プログラム
CPUが直接実行
• インタプリタを用いた場
合
ソースプログラム
解釈しながら実行
インタプリタ
インタプリタとコンパイラの比較
• 会話的な応答性に優れる。(プログラムを作
成・変更してから実行するまでの手間がない)
• 単純な実装では実行に時間がかかる。しかし
動的に最適化を施すことができるので一概に
コンパイラより遅いとは言えない。
• 実行には言語に対応するインタプリタ(ランタ
イム)環境が必要。
過去問題1
問 インタプリタ方式の言語処理に関する
記述のうち、適切なものはどれか。
ア コンパイラ方式に比べ、プログラ
ムの実行速度は遅い。
イ 再帰的な関数呼出しは許されない。
ウ ソースプログラムをあらかじめ機
械語に翻訳して実行する。
エ 対話的な実行環境の構築には不向
きである。
答え
『ア』
• いちがいに全てが遅いとはいえないが基本
的にはコンパイラ方式に比べてプログラムの
実行は遅いので『ア』かが答えになる。
過去問題2
問 インタプリタの説明として,適切なも
はどれか。
ア アセンブラ言語で書かれた原始プログラムを,機
械語のプログラムに翻訳するプログラムである。
イ 原始プログラムを,1命令ずつ解釈して実行する
プログラムである。
ウ 高水準言語で書かれた原始プログラムを,機械
語のプログラムに翻訳してロ-ドモジュールを作
るプログラムである。
エ 指定されたパラメタから,処理の目的に応じたプ
ログラムを自動的に生成するプログラムである。
答え
『イ』
• 『ア』はアゼランの説明
• 『ウ』はコンパイラの説明
• 『エ』はプログラムジェネレーションの説明