Viivi の引数コマンド < カスタマイズ方法 < Viiviの小部屋 < 入り口 / Entrance
一般に,プログラムを端末窓/CMD窓から起動する際にプログラム名に続けて与える文字列群のことを
「コマンドラインオプション (command-line options)」などと呼びます.
Viivi ではこれらを積極的に
「引数として Viivi に与える命令」であると解釈し
特に「引数コマンド (argument commands)」と呼ぶことにします.
引数コマンドは Viivi に順次作業させる内容
(各種属性の設定,入出力の対象の指定など) を指示するために使います.
たとえば 端末窓/CMD 窓の上で
$ viivi -K -E 1 -callcc -o result.out -i sheepAndWolf.scm
(ただし $
は Unix のプロンプト )viivi
のあとに続く -K
-E 1
-callcc
-o result.out
-i sheepAndWolf.scm
のそれぞれが引数コマンド (とそのパラメタ) です.
各引数コマンドは必ずハイフン「 - 」から始まり,そのあとに 1 文字以上の文字列が続きます.
コマンドの種類によって,単独で用いられるものとパラメタ 1 個を取るものとがあります.
それぞれの引数コマンドやパラメタは空白文字で区切っておかなければなりません.
引数コマンドを複数個与えると, Viivi は与えられた順に引数コマンドを実行します.
引数コマンド列が長くなると,
Viivi を起動するたびにコマンドライン上に記述するのが面倒になります.
また,一部の OS/shell ではコマンドライン文字列の文字数に制限があり,
長い引数コマンド列をタイプすることすらできない場合があります.
Viivi に簡単かつ確実に引数コマンドを与えるために,
ファイルを用いて引数コマンド列を与える方法を用意しました.
まず,引数コマンド列をファイルの中に書いてください.
つぎに,
引数コマンド
-a
を用いてそのファイルを Viivi に渡します.
たとえば,引数コマンド列を含むファイル
myArgCmds.vacs
を指定するには次のように入力します:
$ viivi -K -a myArgCmds.vacs カーネルモードで使う場合
$ viivi -G -a myArgCmds.vacs IDE モードで使う場合
myArgCmds.vacs
のようなファイルを
「Viivi 引数コマンドスクリプトファイル
(Viivi argument-command script file)」と呼びます.
このファイルの拡張子
.vacs
は
「Viivi argument-command script」の名前の頭文字を取っています.
この方法はカーネルモードでも IDE モードでも使えますから,
ユーザインタフェースモードを指定する引数コマンド
-K
および
-G
は引数コマンドスクリプトファイル内に含めないようにしてください.
ファイルの書式は自由形式です.
途中に空白文字や改行を好きなだけ入れてかまいません.
また,
#
文字から行末まではコメントとして無視されます.
次の3つの引数コマンドスクリプトファイルは互いに等価です.
見やすいようにファイル名と行番号をつけて表示してあります.
たとえばファイル myArgCmdsA.vacs の中身は
「-E 1 -callcc -o result.out -i sheepAndWolf.scm」
だけです.
:::::::::::::::::::::
:: myArgCmdsA.vacs ::
:::::::::::::::::::::
1: -E 1 -callcc -o result.out -i sheepAndWolf.scm
2:
:::::::::::::::::::::
:: myArgCmdsB.vacs ::
:::::::::::::::::::::
1: -E 1
2: -callcc
3: -o result.out
4: -i sheepAndWolf.scm
5:
:::::::::::::::::::::
:: myArgCmdsC.vacs ::
:::::::::::::::::::::
1: # myArgCmdsC.vacs
2: # my argument-command script version C
3: # 引数コマンドスクリプトの例
4: #
5: # 作者: ilma
6: # 日時: 2022/02/22 22:22:22
7:
8: ########
9: # 準備 #
10: ########
11: # eval 呼び出しは 1 引数とする
12: -E 1
13: # call/cc シンボルを使えるようにする
14: -callcc # call-with-current-continuation
15:
16: ################
17: # 結果の出力先 #
18: ################
19: -o result.out
20:
21: ################
22: # ソースコード #
23: ################
24: # 「羊と狼」問題
25: -i sheepAndWolf.scm
26:
27: # end of file
28:
Viivi を IDE モードで
$ viivi -G -E 1 -callcc -o result.out -i sheepAndWolf.scm
のように起動した場合には,引数コマンドが自動的に解析されて
Viivi IDE の引数コマンド窓
#<argument-command-window>
内に myArgCmdsB.vacs の形式で表示されます.
Viivi IDE が初期状態または終了状態にあれば,
ユーザが引数コマンド窓
#<argument-command-window>
の中に手動で引数コマンドを与えることができます.
ひとつめは,
引数コマンド窓
#<argument-command-window>
の中の文字列をユーザが直接編集する方法です.
もうひとつは,
引数コマンド窓
#<argument-command-window>
上のポップアップメニューから,
外部の引数コマンドスクリプトファイルを読み込ませる方法です.
Viivi の起動ファイル内に与えられるような
「JVM に対するコマンドラインオプション」
(たとえば,
メモリ容量の指定
-Xss512m -Xms1024m -Xmx2048m
など) は
-jar Viivi.jar
よりも前に行われる JVM の構築に対する指定です.Viivi を起動したときの処理は
viivi.vcnf
や
viivi.ide.vcnf
など)
の内容
1. と 2. の処理は Viivi を起動したときに一度だけしか行われません.
Viivi IDE の中で引数コマンドを最初からくりかえすときは,
3. の引数コマンドだけがくりかえし処理されます.
すべての引数コマンドはここにまとめてあります.
Viivi 引数コマンド一覧
Viivi の引数コマンド < カスタマイズ方法 < Viiviの小部屋 < 入り口 / Entrance
2022/03/02 開設
Copyright(C) 2003-2022 ilma <ilma@viivi.io> All rights reserved.