第２３回プログラミングおよびプログラミング言語ワークショップで
発表した以下の論文の OCaml のソースコード：

藤井舞花　浅井健一
control/prompt の仮想機械導出
19 ページ

コンパイルするには OCamlMakefile が必要です。eval*/Makefile に
OCamlMakefile のパスを書いてください。そして make してください。
インタプリタを実行するには ./interpreter とし、標準入力から
プログラムを入力します。

入力例:
prompt (2 * prompt ((control h -> 3 * (h 2)) +
         (control g -> (fun x -> x + 1) (g 4))))

eval1/    図１: control/prompt のための definitional interpreter
eval2/    図２: 非関数化したインタプリタ
eval3/    図３: 継続をリスト化したインタプリタ
eval4/    図４: スタックを導入したインタプリタ
eval5/    図５: 継続を非リスト化したインタプリタ
eval6/    図６: 関数化したインタプリタ
eval7/    図７: 値とスタックを結合したインタプリタ
eval8/    図８: 命令に分解したインタプリタ
eval9/    図９: CPS 変換したインタプリタ（2CPS）
eval10/   図10: 非関数化したインタプリタ
eval11/   図11: 命令列を cons リスト化したインタプリタ
eval12/   図13: 継続と trail をリスト化したインタプリタ
