プログラミング言語SML#解説 4.0.0版
32 SML#ソースパッケージ

32.2 SML# ソースツリー

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 スレッドサポートライブラリのインタフェイスファイル