- プログラムは icho 上で直接実行することもできる。
出力結果をファイルに記録したり、実行を繰り返し行う場合などにはこのほうが便利である。
- プログラム自体は上記のブラウザ起動のものと同じであり、
実行時オプションも指定の仕方以外は同じである。
実行時オプションの内容については、こちらの説明 を参照。
- プログラムの日本語出力は EUC コードによっている。
それ以外の文字コード(SJIS, UNICODE 等)で端末環境設定を行ったり、
入力ファイル中にコメントを書いたりした場合には文字化けが生じるので注意。
- 重要
csh, EUC コードの実行環境に設定する方法については
こちら を参照。
プログラムへのリンク作成
icho 上の実行用に用いるディレクトリの下で以下のコマンドを実行する
(実行プログラムにシンボリックリンクを張る)。
icho% ln -s ~hiraga/public/AI/label/label label
これにより、label というコマンド名でプログラムが実行可能になる。
- ln コマンドは1回だけ実行すれば、以後ずっと有効である
(ln コマンドについては「icho% man ln」参照)。
- リンクを削除するには、「icho% rm label」とすればよい。
- リンクの代わりに、実行プログラムをコピーするのでもよいが、
バグ修正・機能拡張等の変更は反映されなくなる。
プログラムの実行
以下のコマンドを実行する。
icho% label [実行時オプション] 入力ファイル名
- 入力ファイル名 には定義文を記したファイル名を指定する。
省略すると標準入力(stdin)がとられる。
現在のプログラムではファイル名は1つしか指定できない
(実行コマンドの例 参照)。
- 結果は標準出力(stdout)に出力される。
- 実行時オプションは、+(オプションを選択する)または
−(選択しない)の後ろにオプション記号をつけて表す。
(ただし、s, S, o オプションについては +/- のどちらでも同じである。
それを下では ± で表す。)
オプションはすべて半角文字でなければならない。
オプションを省略した場合にはデフォールト値がとられる。
| 実行モード |
制約伝播のみ(デフォールト) |
±s | 制約後探索 |
±S | 探索のみ |
| 頂点の表示順 |
±o0 | 定義順(デフォールト) |
±o1 | 種別順 |
±o2 | ASCII 順 |
| 入力データの表示 |
+e | 表示する(デフォールト) |
−e | 表示しない |
| 初期状態の表示 |
+i | 表示する(デフォールト) |
−i | 表示しない |
| 制約伝播の中間結果表示 |
+v | 表示する(デフォールト) |
−v | 表示しない |
| 探索の中間結果表示 |
+V | 表示する |
−V | 表示しない(デフォールト) |
- オプションを指定する順番は自由である。
- オプション同士の間には空白を入れても入れなくてもよい。
また同じ +/- が続く場合には、2番目以降は省略できる
(例: -ei は -e -i と同じ)。
実行コマンドの例
以下では定義を記した入力ファイル名を ifile、
結果の出力ファイル(もしあれば)を ofile とする。
| label ifile | more |
デフォールト設定でファイル ifile を実行し、結果を more を通して画面に表示する。
more は less でもよい。
|
| label ifile > ofile |
デフォールト設定でファイル ifile を実行し、結果を ofile に出力する。
|
| label +SV ifile |
探索モードのみを実行し、中間結果も出力する。
|
| label -svV ifile |
制約伝播モードの後に探索モードを起動するが、いずれの中間結果も表示しない。
(オプションは単に -sv でもよい。)
|
| label -ei ifile |
入力ファイルのエコー出力、初期状態出力を行なわない。
|
| label +o0eiv-V ifile |
(システムのデフォールト設定に相当)
|
| label |
データ入力をキーボードから行なう。
|
| cat ifile1 ifile2 | label |
入力データは ifile1 と ifile2 をつなげたもの。
(プログラムでは複数ファイル入力を扱わないので、cat で連結する。)
|
| cat ifile - | label |
ifile からデータ入力後、キーボードから追加入力を打ち込む。
(cat のファイル名が "-" の場合には標準入力(キーボード)がとられる。)
|
入力データ例
こちら に示した入力データ例のファイルは、
~hiraga/public/AI/label/files/
下においてあるので、自由に参照してよい。
例えば t0 のファイルを直接実行するには、以下のようにコマンドラインを入力すればよい。
icho% ~hiraga/public/AI/label/label ~hiraga/public/AI/label/files/t0