制約エディタ制約式の構文 制約式の構文は、LN 工具構文に含まれるサブセットです。制約式を作成するには、次の基本指示を使用します。 算術演算子:
論理演算子:
関係演算子:
ドメイン式 A is {a1,a2,a3-a4,..} 意味: (A=a OR A=a2 OR A >= a3 AND A <= a4,...) ドメイン式の構文は、変数のドメインに関する論理式を表す省略表記法です。 式の優先順位 算術演算子は関係演算子よりも優先されます。 関係演算子は論理演算子よりも優先されます。 算術演算子の優先順位は、x ÷ \ + - の順です。 論理演算子の優先順位は、NOT、AND、OR の順です。 丸括弧 ('()') は、算術演算子と論理演算子の優先順位を変更する目的に用いられます。
例
3 + 4 x 5 = 23 (3 + 4) x 5 = 35 ブール式 ブール式は真または偽の値 (1 または 0) をとります。これは制約 (特に条件式) に適用できます。
例
「If not e then '」は、次式を意味します。 If e = false then' または If e = 0 then' If-then-else 構文 拡張 if-then-else 構文は制約で使用できます。ステートメントのネストは許されます。
例
If 式 1 then 式 2 else 式 3 endif if-then-else 構文は、常に endif 文で終了します。else 文は必須ではありません。if、else および endif 文は常に新しい行で始まります。(条件) 式は数行に分割されてもかまいません。有効性確認の制約は、if-then-else 文なしでも定義できます。その場合、この制約は 「c:」 で始める必要があります。 制約にコメントを付けるには、「|」 記号を使用します。構成処理中には、変数メッセージを使用してメッセージ (最大 80x25 ラインのテキスト) を生成できます。 制約変数 制約式では、グローバル変数とローカル変数の両方を使用できます。グローバル変数は、グローバルとして宣言される、製品特徴およびユーザ定義制約変数です。入力、表示、長さ、幅などの製品コンフィギュレータにより事前定義された変数はローカル変数です。構成処理を通じてグローバル変数の値は変更されない限り保持されます。 制約変数の宣言には、次の種類があります。
ユーザ定義制約変数は、常に制約の一番先頭で宣言しなければなりません。制約の実行前にすべてのローカル変数を初期化します。初期化によって、英数字変数がクリアされ、数値変数に値 0 が代入されます。グローバル変数の入力と妥当性検証は真の値で初期化されます。 制約変数の使用 製品特徴は、制約式の中に開始および終了の角括弧 ([......]) で囲んで指定する必要があります。残りの変数は直接式で使用できます。英数字変数 (文字列配列) は表記 (開始位置 [;長さ]) に従ってインデックス付けできます。
例
[color] = "red" validating = true 変数の値には英数字または数字をとることができます。英数字の値は引用符 ("....") で括って記述する必要があるのに対し、数値は直接に入力することができます。小数点記号は点 ('.') です。
例
machine(1;2) = "A5" volume = 28.673 定数の真/偽は、ブール式に使用できます。 算術関数
三角関数
対数関数
文字列関数
日付関数
例
date(1995,06,01) = 728445
| |||