[
大堀研
|
教育内容
|
講義関連資料
|
コンパイラ
コンパイラの参考ソースコード
以下に,講義で紹介したコンパイラ関連のソースコードを示す.SML#での使用を 想定しているが,Standard MLに準拠したコンパイラならコンパイル可能なはず である.
文字列の読み込み
readString.sml
字句解析処理
全てのソースファイルを含むtarファイル
lex.tgz
Tokens.sml
Tokens.smi
coreML.lex
coreML.lex.smi
main.sml
main.smi
doit.sml
doit.smi
Makefile
Makefileを使用する場合は,以下のディレクトリ構成とすること.
./lex/ 字句解析処理のファイル ./ml-lex/ 字句解析ツールファイル
lex.tgz及びml-lex.tgzを同一ディレクトリに展開してもよい.
ML-LEX (字句解析ツール)
全てを含むtarファイル
ml-lex.tgz
ツール本体
lexgen.sml
同 インターフェイスファイル
lexgen.smi
smllexコマンド生成処理
ml-lex.sml
同 インターフェイスファイル
ml-lex.smi
smllex Makefile
Makefile
ML-LEX ドキュメントファイル
lexgen.doc
ML-LEX COPYRIGHTファイル
COPYRIGHT
これらは,Andrew W. Appel, David R. Tarditi and James S. Mattson によって作成されたソフトウエアである. smlsharpで上記の字句解析処理プログラムを作成する際に必用ある. 「ML-LEX COPYRIGHT」ファイルに記されたライセンスに従って配付されている.
構文解析処理
coreMLParse.tar
型推論(PTS(e) = (Γ,τ)形式のもの.)
TypeInference.tgz
型推論(W(Γ,e) = (S,τ)形式の簡易版.)
TypeInferenceWithDecl.tgz
操作的意味論とインタープリタ
OperationalSem.tgz
抽象機械と疑似コード生成
SECD.tgz