コンパイラのリファレンス

Motoko のコンパイラ(moc) は、Motoko プログラムを実行可能な WebAssembly(Wasm) モジュールにコンパイルするための主要なツールです。 コンパイラは DFINITY Canister SDK を使用してプロジェクトをビルドする際にバックグラウンドで実行されます。 コマンドラインでコンパイラを直接起動した場合は、CTRL-C を押して終了することができます。

この章では、コンパイラのコマンドラインのリファレンス情報を提供します。

moc

Motoko プログラムを実行可能な WebAssembly(Wasm) モジュールにコンパイルするには、Motoko コンパイラ(moc)を使用します。

基本的な使い方

moc [option] [file ...]

オプション

moc では以下のオプションが利用可能です。

オプション 説明

--actor-idl <idl-path>

Actor IDL (Candid) ファイルへのパスを指定する。

--actor-alias <alias> <principal>

Actor のインポートエイリアスを指定する。

--args <file>

<file> から改行区切りのコマンドライン引数を追加で読み込む。

--args0 <file>

<file> から NUL 区切りのコマンドライン引数を追加で読み込む。

-c

WebAssembly へコンパイルする。

--check

型チェックのみ実行する。

--compacting-gc

コンパクト GC を使用する。

--copying-gc

コピー GC を使用する(デフォルト)

--debug

ソース内のデバッグ式を優先する(デフォルト)。

--error-detail <n>

構文エラーのエラーメッセージの詳細度レベルを設定する。n は [0..3] (デフォルトでは2)。

-help,--help

使用に関する情報を表示する。

--hide-warnings

コンパイラの警告を隠す。

-Werror

警告をエラーとして取り扱う。

--idl

バイナリをコンパイルし Candid の IDL 仕様を .did ファイルに出力する。

-i

プログラムの実行を評価(-r オプションを意味する)するために、コンパイラを対話型の Read-eval-print loop (REPL) シェルで実行する。

--map

JavaScript ソースマップを出力する。

--max-stable-pages <n>

ExperimentStableMemory.mo で利用できる最大ページ数を設定する(デフォルト値は 65536)。

-no-system-api

システム API のインポートを無効化する。

-o <file>

出力ファイルを指定する。

-p <n>

出力深度を設定する。

--package <package-name> <package-path>

スペースで区切られたパッケージ名とパッケージパスのペアを指定する。

--public-metadata <name>

icp のカスタムセクション <name> (cidid:args または candid:service または motoko:stable-types または motoko:compiler ) を public として出力する (デフォルトは private)。

--omit-metadata <name>

icp のカスタムセクション <name> を省略する (candid:args または candid:service または motoko:stable-types または motoko:compiler)

--print-deps

与えられたソースファイルの依存関係を表示する。

-r

プログラムを解釈する。

--release

ソースのソースのデバック式を無視する。

--stable-types

バイナリをコンパイルし、安定型のシグネチャを .most ファイルに出力する。

--stable-compatible <pre> <post>

安定型シグネチャ <pre> と <post> のアップグレード互換性をテストする。

-t

インタープリタのトレースを有効にする。

-v

冗長出力を生成する。

--version

バージョン情報を表示する。

-wasi-system-api

WASI システム API (wasmtime) を使用する。