S−10:コンパイラ実験 ソフトウェアサイエンスV 3学期


担当: 南出 靖彦 (minamide@score.is.tsukuba.ac.jp) (総B1025, 内線5164)


注意: この実験を選択する場合は、2学期の授業「宣言型プログラム論」を履修すること。 履修できない場合は, 関数型言語 Objective Caml を勉強しておくことが必要です。


実験の手引き 

目的: 

  1. コンパイラの仕組みを理解すること。
  2. 記号処理を行うプログラミングになれること。

概要:

簡単なプログラミング言語から、JavaVMのコードへのコンパイラを関数型プログラム言語ML(Objective Caml)を用いて作成します。

プログラミング言語MLについては、3,4年生を対象とする2学期の授業「宣言型プログラム論」で、基本的な使い方を習得していることを仮定します。

実験の進め方:

コンパイラの構成する部品を実現する課題を約2週間ごとに出します。最終的には、作成した部品を組み合わせてできるコンパイラで生成したコードがJava VMで動作することを確認します。

個々の課題については、参考となるプログラムを用意しています。 そのプログラムを拡張すれば課題が完成するように実験は構成してあります。