nptコマンドの引数

nptのドキュメントです。
参照元:ANSI Common Lisp npt
前へ:コンパイルの詳細
次へ:npt amalgamation

nptコマンドの引数を説明します。

3.1 引数

--help

次のようなメッセージを表示します。

$ npt --help
npt -- ANSI Common Lisp Programming Language.

USAGE:
  npt [options] [inputs] [--] [arguments]

OPTIONS:
  --help             Print this message.
  --version          Print the version infomation.
  --core             Core mode.
  --standalone       Standalone mode.
  --heap <size>      Heap memory size.
  --local <size>     Local memory size.
  --corefile <file>  Core file instead of default file used.
  --initfile <file>  Init file instead of default file used.
  --nocore           Don't load a default core file.
  --noinit           Don't load a default init file.
  --debugger         Enable debugger.
  --nodebugger       Disable debugger.
  --quit             Exit after load and eval processing.

INPUTS:
  --load <file>      Load source file.
  --script <file>    Load script file.
  --eval <cmd>       Execute command.

If inputs aren't appeared, load from a standard-input.

--version

nptのコンパイル情報を出力します。
スクリプトなど機械的に読みやすいように整形された 引数--version-scriptも存在します。
出力内容はほぼ変わりませんが、 スクリプト版の方が若干情報が増えます。

--core

コアファイル読み込みモードです。
--standaloneと同時に指定できません。

コアファイルの位置は引数--corefileで指定できます。
もし指定されなかった場合は、 標準のコアファイルを下記の順番で探します。

FreeBSD / Linux
    $NPT_HOME/npt.core
    $NPT_HOME/lib/npt.core
    $HOME/.npt/npt.core
    /usr/lib/npt/npt.core
    /usr/local/lib/npt/npt.core
    /opt/npt/npt.core
    /opt/lib/npt/not/npt.core

Windows
    %NPT_HOME%\npt.core
    %NPT_HOME%\lib\npt.core
    %USERPROFILE%\npt.core
    %ProgramData%\npt\npt.core
    %PROGRAMFILES%\npt\npt.core
    %ProgramFiles(x86)%\npt\npt.core

引数--nocoreが指定された場合は、標準のコアファイルは読み込みません。 もしコアファイルが見つからなかった場合はエラーです。

--standalone

Lispのイメージを作成するモードです。
本引数が指定された場合は、 コアファイルを読み込まずにCommon Lispのイメージを最初から作成します。
--coreと同時に指定できません。

本モードは標準で指定されているため、引数--standaloneは省略可能です。
nptのコンパイルによっては、デフォルトが--standaloneではない場合が存在するため、 本引数はそのような特殊なコマンドのために用意されました。

--heap <size>

heap領域のサイズを指定します。
<size>は10進数の数値を指定します。

単位K, M, G, T, P, Eを付与することができます。
例えば1GByteを指定したい場合は、

--heap 1G

となります。
省略時は1Gです。

--local <size>

local領域のサイズを指定します。
<size>--heapと同様、10進数の数値を指定し、単位を含めることができます。
省略時は512Mです。

--initfile <file>

起動時に初期化ファイルとして読み込まれるLispファイルを指定します。
引数--loadと同じような動作をしますが、 本引数は初期化を行うという目的でファイルを読み込みます。

もし--initfileが指定されていない場合は、 標準の初期化ファイルを下記の順番で探します。

FreeBSD / Linux
    $HOME/.npt/npt.lisp
    $NPT_HOME/npt.lisp
    $NPT_HOME/lib/npt.lisp
    /usr/lib/npt/npt.lisp
    /usr/local/lib/npt/npt.lisp
    /opt/npt/npt.lisp
    /opt/lib/npt/not/npt.lisp

Windows
    %USERPROFILE%\npt.lisp
    %NPT_HOME%\npt.lisp
    %NPT_HOME%\lib\npt.lisp
    %ProgramData%\npt\npt.lisp
    %PROGRAMFILES%\npt\npt.lisp
    %ProgramFiles(x86)%\npt\npt.lisp

引数--noinitが指定された場合は、標準の初期化ファイルは読み込みません。 もし初期化ファイルが見つからなかった場合は、 読み込みを行わずに次の処理へ移行します。

--debugger / --nodebugger

デバッガーを有効/無効にします。
有効の場合は、エラーが生じたときにデバッガーが起動されます。
無効の場合は、エラーが生じたときにabortしてプログラムが異常終了します。

デバッガーの有効/無効は、lisp-system::*enable-debugger*boolean値として設定されます。

--quit

本引数は、引数のINPUTSが処理されたあとに 終了するかあるいはeval-loopに移行するかを決定します。

もし--quitが指定された場合は終了します。
指定されなかった場合はeval-loopに移行し入力待ちになります。

3.2 色の設定

色の出力に対応している場合は、下記の引数を使用できます。
詳しくは入力モジュールをご確認ください。

--color

色の出力を有効にします。

--monochrome

色の出力を無効にします。
同時に文字の種類(ボールドなど)も無効になります。

--bright

色の出力を明るくします。
端末の背景が暗い場合に便利です。

--dark

色の出力を暗くします。
端末の背景が明るい場合に便利です。

3.3 引数 INPUTS

INPUTSは次の3つの引数から成り立ちます。

これらの引数は何度も記載することができます。

--eval <cmd>

引数--evalを用いることで、引数の文を実行できます。
例を示します。

$ npt --eval '(format t "Hello~%")'
Hello
*

--evalの文が実行されたあとは入力待ち状態となります。
もしeval実行後に即終了させたい場合は、引数--quitを指定します。

$ npt --quit --eval '(format t "Hello~%")'
Hello
$

--load / --script

Lispファイルを読み込む場合は、 --load--scriptの二つの方法があります。

--loadはファイルを読み込んだあと、入力待ちに遷移します。
--scriptはファイルを読み込んだあと、すぐに終了します。

--scriptは、--quit--loadを組み合わせたものに似ていますが、 それだけではなく、--scriptはLispのデバッガーを使用不可にするため、 もしエラーが生じても入力待ちにはならずに即終了する点が違っています。

--scriptは名前の通りスクリプトで実行することを前提としていますので、 エラーが生じたときに可能な限り停止しないようになります。
--scriptは、--nodebugger--quitを同時に指定したことになります。

実行例を示します。

$ cat > aaa.lisp
(format t "Hello~%")
^D
$ npt --script aaa.lisp
Hello
$ npt --load aaa.lisp
Hello
* (quit)
$

引数--

引数--が指定された場合は、 それ以降の引数がnptのプログラムへ渡される引数と認識されます。

引数はnpt-system::*arguments*に配列として格納されます。
例を示します。

$ npt -- 10 20 30
* npt-system::*arguments*
#("npt" "10" "20" "30")
*

3.4 開発用の引数

引数--build--standaloneと同じです。

引数--degradeだけが指定された場合はテストケースを実行します。
--core--standaloneとは同時に指定できません。

引数--version-scriptは、引数--versionの内容を スクリプトで読み込みやすいようにタブで整形したものを出力します。