MiniML 言語処理系の使い方 2009/06/08 MiniML は MiniC とほぼ同様の方法で起動、呼び出し、終了できる ので、簡潔に記す。 最初に1回だけやる準備: 作業用のdirectory を決めて,そこに,ファイルをコピーする. mkdir tmp cp ~kam/miniml/main.cmi tmp (システム実行の際に必要) cp ~kam/miniml/*.ml tmp (*.ml はMiniML言語のテストファイル) システム起動方法: cd tmp ~kam/miniml/miniml MiniMLプログラム実行方法: Main.run "ex1.ml" ;; Main.run "ex2.ml" ;; システム終了方法: C-d (control-d)を押せば、抜ける。 MiniML プログラム例題: ~kam/miniml/ex*.ml 評価モードの変更: Main.mode n ;; ただし、nは 0〜5。 この n が何を意味するかは、課題なので説明しない。 MiniML の構文、意味論: 別途資料を参照。 MiniML のエラーメッセージ: 現状では、最小限のエラーしかださない。もし、OCaml の プログラムを理解する人がいたら、改良してほしい。 --------------------------------------------------------------------- 注意点 ex1.ml 等のファイルには、必ず、 式 ;; 式 ;; 式 ;; 式 ;; 式 ;; 式 ;; というように、式を1つ書いて、semicolon 2つで区切る、という ように書くこと。semicolon がなかったり、式でないものを書く と、parser がエラーをだしてしまい、式が1つも評価されない。 一方、OCaml のファイルは、単なる式を並べて書くのではなく、 let x = 1 + 2 let y = 1 + 2 のような書き方が許されているので、MiniML とは違う。 もう1つの違いは、MiniML では、print 1 といった文が許され ていることである。