uCosminexus Interschema ユーザーズガイド

[目次][用語][索引][前へ][次へ]

6.6.1 条件式

条件式は,式が定義された構造又はコンポーネントの正当性を評価するための評価規則式です。条件式は,入力又は出力側の構造又はコンポーネントに対して定義する式で,FDLエディタの[条件式]ダイアログに記述します。コンポーネントの条件式は,MDLエディタでも定義できます。[条件式]ダイアログは,式を定義する[構造のプロパティ]ダイアログ,又はコンポーネントの[コンポーネントのプロパティ]ダイアログで,[条件式]ボタンをクリックすると表示されます。

図6-7 [条件式]ダイアログ

[図データ]

条件式は,テキストを直接入力したり,ダイアログから演算子,関数などを選択したりして記述します。

トランスレータは定義された条件式で,変換する入力データ又は出力データを評価します。条件式を評価した結果が不当な場合はエラーになります。

構造に対して定義した条件式は,その構造がどこで使用されても必ず評価されます。一方,コンポーネントに対して定義した条件式は,そのコンポーネントに対してだけ評価されます。

次に例を示します。

図6-8 条件式の例

[図データ]

構造STRUCT自身の構造の条件式として「#@a>0」(子コンポーネントaの値が正であること),及びその子コンポーネントxに対して,コンポーネントの条件式 「# == 1」(自身の値が1であること)を定義しておきます。さらに,ROOT以下のツリーの2.のコンポーネント部分に,構造STRUCTに対してコンポーネントの条件式「#@a == #@b」(子のaとbの値が一致すること)を定義します。

この場合,1.の構造STRUCTのデータに対しては,「x == 1」と「a>0」の二つの条件が評価されます。一方,2.の構造STRUCTのデータに対しては,更に「a == b」の条件を合わせて,三つの条件が評価されます。