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 は実行時に
> 1. 環境変数 NGRAPHHOME で指定されるディレクトリ
> 2. 環境変数 HOME で指定されるディレクトリ
> 3. 環境変数 NGRAPHLIB で指定されるディレクトリ
> 4. Ngraphをインストールしたディレクトリ
> をこの順番で検索し, はじめに見つかったスタートアップスクリプトファイル( _Ngraph)を自動的に読み込みます。
> コマンドラインオプション
> -i script_name
> でスタートアップスクリプトを明示的に指定する事もできます。
> スタートアップスクリプトファイルはNgraph独自のマクロ言語(Ngraphスクリプト)で記述されており, ユーザがカスタマイズすることもできます。
> - Ngraph のコマンドラインオプションは(上記 -i オプションを除いて)全てスタートアップスクリプトファイルに渡されます。
> - 配布状態では, スタートアップスクリプトファイルは
>   1. 起動するユーザインターフェースの指定(system::login_shell)
>   2. _Ngraph.ngp の読み込み(_Ngraph.ngp は[設定]-[初期状態として保存(グラフ)]で作成できます)
>   3. コマンドラインオプションの解析
>   を行います。

コマンドラインオプション

> Ngraph を起動する時のコマンドラインオプションの形式は
> ngraph [-i script_name] [option1 option2 ...]
> で、-i オプションでスタートアップスクリプトを指定します。 残りのオプションは全てスタートアップスクリプトに渡され、その中で解析されます。 スタートアップスクリプトはユーザがカスタマイズする事ができるので、独自のコマンドラインオプションを作成する事ができます。
> 配布状態のスタートアップスクリプト(.Ngraph)で有効なコマンドラインオプションは以下の通りです。
> *.ngp
>   指定された ngp ファイルを読み込みます。
> *.prm
>   指定された prm ファイル(DOS版Ngraphのパラメターファイル)を読み込みます。
> *.gra
>   指定された GRA ファイルを合成ファイルに設定します。
> それ以外
>   データファイルとしてオープンします。