8-1. 高級言語と仮想機械の話

ここまでの話では、プログラム言語の処理系として、 インタープリタを作ることに専念してきた。 インタープリタはプログラムの意味を理解するために重要であり、 効率をさほど必要としない場合には、そのまま処理系として 利用されることもかなり多いが、やはり、 実行性能(速度)が重要になってくる場合には、コンパイラが欲しくなる。

そこで、2012年度から、本実験でも、簡単なコンパイラを書くことにした。 コンパイラは、通常、高級言語(今回の場合はミニOCaml言語)から 一種の機械語への変換するものである。 通常は、単に変換するだけでなく、実行速度向上のための種々の 効率化(最適化と言う)を適用することを含めるが、ここでは、 変換部分のみを作成し、最適化については発展課題とする。

なお、関数型プログラム言語は、 決してインタープリタを書くことだけが得意なのではなく、 構造をもったデータ(不定長のデータ、数式、論理式、XMLデータ、プログラムなど)の処理全般が得意である。

やるべき事を整理しよう。


トップ, 前へ, 次へ.

亀山幸義