Ch.21 SML#コンパイラの起動

§ 21.2. モード制御オプション

以下のオプションは,モード選択オプションで選択されたモードで起動した smlsharpコマンドの振る舞いを制御する.

-v

smlsharpコマンドをverboseモードにする. 主にsmlsharpコマンドが実行する外部コマンドのコマンドラインと その出力が表示される. 入力ファイルを伴わずに-vが指定された場合, コンパイラのバージョンを表示し終了する.

-o filename

出力先ファイル名を指定する. ファイルに出力される内容は選択されたモードによって異なる.

-filemap filename

.smiファイル名からオブジェクトファイル名への対応表を指定する. filenameの各行には,.smiファイルの名前と, その.smiファイルに対応する.smlファイルをコンパイルした 結果のオブジェクトファイルの名前を,この順番で, スペースで区切って書く. filenameには,SML#コンパイラが オブジェクトファイル名を検索しようとする全ての.smiファイルの名前が 記載されていなければならない. リンク時に行う.smiファイルの列挙において, filenameに記載されていない.smiファイルが現れた場合は エラーとなる. -filemapが指定されていないとき, smlsharpコマンドは .smiファイル名の拡張子を.smiから.oに置き換えた名前を 対応するオブジェクトファイルの名前とする.

-emit-llvm

ネイティブコードの代わりに LLVM IR を出力する. -emit-llvm-Sと共に指定されているとき, アセンブリコードの代わりにテキスト形式の LLVM IR コードを出力する. デフォルトの出力ファイル名の拡張子は .sから.llに変わる. -cと共に指定されているとき, オブジェクトファイルの代わりに LLVM bitcode ファイルを出力する. デフォルトの出力ファイル名の拡張子は .oから.bcに変わる.