SML#のソースディレクトリは,以下のディスディレクトリとファ イルが含まれる.
デイレクトリ
SML#コンパイラソースコード
| basis/ | Standard ML基本ライブラリ |
|---|---|
| compiler/ | SML#コンパイラ |
| config/ | configureが設定するシステムパラメタアクセスライブラリ |
| ffi/ | C言語直接連携サポートライブラリ |
| llvm/ | LLVMコード生成ライブラリ |
| runtime/ | 実行時処理系 |
| sql/ | SQL統合サポートライブラリ |
| thread/ | スレッドサポートライブラリ |
| unix-utils/ | UNIX基本コマンドライブラリ |
SML#ツール
| smlformat/ | smlformat清書プログラム生成器 |
| smlunit/ | 単体テストライブラリ |
これらは,SML#のために開発した汎用性あるツールである. これらは,比較的小規模な独立したシステムであり,本解説ではこれら の記述は省略する.
サードパーテイのコード
| ml-lex/ | 字句解析器生成ツール |
|---|---|
| ml-yacc/ | 構文解析器生成ツール |
| smlnj/ | basis/で使用するsmlnjソースファイル |
| smlnj-lib/ | smlnjユーテティリティライブラリ |
これらサードパーテイのコードはSML#をビルドするために,SML#用に 移植されたものである. makeシステムによってSML#ビルド時にコンパイルされ使用されるため, それぞれのライセンスとともにソースコードがここに置かれている. これらコードは本解説の対象としない.
ファイル
| basis.smi | Standard ML基本ライブラリのインタフェイスファイル |
|---|---|
| builtin.smi | 組込みデータを束縛するインタフェイスファイル |
| config.mk | コンパイラコマンドが使用する環境変数定義 |
| config.mk.in | config.mkのテンプレート |
| config.sed | config.mk生成のためのsedスクリプト |
| ffi.smi | Cとの直接連携ライブラリのインタフェイスファイル |
| foreach.smi | 並列機能のインタフェイスファイル |
| json.smi | JSONサポート機能のインタフェイスファイル |
| ml-yacc-lib.smi | smlyaccライブラリのインタフェイスファイル |
| prelude.smi | 対話型環境のインタフェイスファイル |
| reifyTy.smi | 自己反映計算機能のインタフェイスファイル |
| smlformat-lib.smi | smlformatライブラリのインタフェイスファイル |
| smlnj-lib.smi | smlnj-libのインタフェイスファイル |
| smlunit-lib.smi | smlunitのインタフェイスファイル |
| sql.smi | SQL統合サポートライブラリのインタフェイスファイル |
| thread.smi | スレッドサポートライブラリのインタフェイスファイル |