サンプル問題 科目A 問16
問題
インタプリタの説明として,適切なものはどれか。
ア 原始プログラムを,解釈しながら実行するプログラムである。
イ 原始プログラムを,推論しながら翻訳するプログラムである。
ウ 原始プログラムを,目的プログラムに翻訳するプログラムである。
エ 実行可能なプログラムを,主記憶装置にロードするプログラムである。
出典:基本情報技術者試験 サンプル問題
各選択肢は何か
ア 原始プログラムを,解釈しながら実行するプログラムである。
これがインタプリタです。「実行する」というのが重要です。「解釈しながら」なので、狭義のインタプリタだと思いました。
イ 原始プログラムを,推論しながら翻訳するプログラムである。
これは何か分かりません。「推論しながら」というのが重要だと思いましたが、こういう処理系で推論すると言えば型推論しか思いつかず、処理系を特定するところまでいきませんでした。
この問題の解説記事を検索してみると、トランスレータと書いているサイトがありました。私の感覚ではトランスレータは上位の言葉で、例えばあるものが鉛筆かボールペンか考えている時に、それは筆記用具だ、といった感じがあります。個人の感想ですが。
ということで、この選択肢が何を意味するのかは宿題ですが、インタプリタではないのは確かです。
ウ 原始プログラムを,目的プログラムに翻訳するプログラムである。
これはコンパイラですね。
エ 実行可能なプログラムを,主記憶装置にロードするプログラムである。
これは、ローダ(プログラムローダ)です。「実行可能なプログラムを主記憶装置にロードする」のが役割です。
答え
ということで、選択肢イが何か分かりませんが、これがインタプリタではないのは確かなので、答えはアです。