Ngraphスクリプト
概要
Ngraph はスクリプト言語(Ngraph スクリプト)のインタープリタを備えています。
グラフの設定(実際には各オブジェクトOBJECTのフィールド値)もNgraph スクリプト形式で保存されます。
スクリプトの文法
Ngraph スクリプトの文法は, UNIX の sh (シェル) からジョブ制御機能を取り去り, オブジェクト操作命令を追加したものになっています。
shと同等の文法・コマンドは以下の通りです(sh の文法の詳細については UNIX のマニュアルを参照してください)。
コマンド
name1=val1 name2=val2 ... command arg1 arg2 arg3 ...
コメント
# comment
制御構造 (for, case, if, while, until 文)
for name [in word] do list done
case word in [patterm [|pattern] ...list;;] ... esac
if list then list [elif list then list]...[else list] fi
while list do list done
until list do list done
関数定義 ({}は常に必要)
name() { list; }
ファイル名置換
*?[]
コマンド置換
`command`
変数定義
name=value [ name=value ] ...
変数置換
$# $? $num $* $@
${name}
${name:-word}
${name:=word}
${name:?word}
${name:+word}
リダイレクト・パイプ
< file
<< word
> file
>> file
command | command
特殊コマンド
:
. file
break [n]
continue [n]
cd
echo
eval [arg]
exit [n]
export [name]
pwd
return [n]
set
shift [n]
unset
test
[
sleep
true
false
read [val]
独自に追加した文法・コマンドは以下の通りです。
オブジェクト定義 (objectのinstance_listのfieldにvalueを設定)
object:instance_list:field=value
オブジェクト置換 (objectのinstance_listのfieldの値)
${object:instance_list:field=argument}
オブジェクト操作コマンド
new object [field=value, ...]
del object:instance_list
exist object:instance_list
get object:instance_list [-write -filed -id -quote] field=argument ...
put object:instance_list field=value ...
exe object:instance_list field=argument ...
cpy object:instance1, instance2 field
move object:instance1, instance2
movetop object:instance
movelast object:instance
exch object:instance1, instance2
object [object1 object2 ...] [-name -version -parent -id -field -size -current -last -instnace -instances]
derive object [-instance]
評価コマンド (数式expを評価)
dexpr exp
iexpr exp
スタートアップスクリプト
Ngraph は実行時に
- 環境変数 NGRAPHHOME で指定されるディレクトリ
- 環境変数 HOME で指定されるディレクトリ
- 環境変数 NGRAPHLIB で指定されるディレクトリ
- Ngraphをインストールしたディレクトリ
をこの順番で検索し, はじめに見つかったスタートアップスクリプトファイル( _Ngraph)を自動的に読み込みます。
コマンドラインオプション
でスタートアップスクリプトを明示的に指定する事もできます。
スタートアップスクリプトファイルはNgraph独自のマクロ言語(Ngraphスクリプト)で記述されており, ユーザがカスタマイズすることもできます。
- Ngraph のコマンドラインオプションは(上記 -i オプションを除いて)全てスタートアップスクリプトファイルに渡されます。
- 配布状態では, スタートアップスクリプトファイルは
- 起動するユーザインターフェースの指定(system::login_shell)
- _Ngraph.ngp の読み込み(_Ngraph.ngp は[設定]-[初期状態として保存(グラフ)]で作成できます)
- コマンドラインオプションの解析
を行います。
コマンドラインオプション
Ngraph を起動する時のコマンドラインオプションの形式は
ngraph [-i script_name] [option1 option2 ...]
で、-i オプションでスタートアップスクリプトを指定します。
残りのオプションは全てスタートアップスクリプトに渡され、その中で解析されます。
スタートアップスクリプトはユーザがカスタマイズする事ができるので、独自のコマンドラインオプションを作成する事ができます。
配布状態のスタートアップスクリプト(.Ngraph)で有効なコマンドラインオプションは以下の通りです。
- *.ngp
- 指定された ngp ファイルを読み込みます。
- *.prm
- 指定された prm ファイル(DOS版Ngraphのパラメターファイル)を読み込みます。
- *.gra
- 指定された GRA ファイルを合成ファイルに設定します。
- それ以外
- データファイルとしてオープンします。