略記組み合わせ比較条件

単純比較条件または否定単純比較条件を、論理結合子で組み合わせて連続して記述する場合、後続の比較条件に、先行する比較条件と共通の左辺または左辺および比較演算子が含まれ、かつ連続した記述内でかっこを使用していなければ、最初に登場する比較条件以外は略記できなる。記述方法には次の 2 通りがある。

一般形式


構文

コメント:

一連の比較条件内で、上記の両方の略記形式を使用できる。略記した場合、直前で明記した左辺が、省略した左辺に補完され、直前で明記した比較演算子が、省略した比較演算子を補完するように処理される。そのような暗黙的な補完の結果は、表「比較演算子」の規則に準拠する必要がある。この処理では省略した左辺または比較演算子 (あるいはその両方) が補完され、組み合わせ条件内で略記しない単純条件を検出すると終了する。

OSVS 条件の評価順序については、かっこを使用して優先順位を変更できる (下記の例を参照)。

略記組み合わせ比較条件内で「NOT」を使用した場合、次のとおり解釈される。

  1. ANS85 NOT の直後に GREATER、>、LESS、<、EQUAL、または = が続く場合 (GREATER THAN OR EQUAL TO、>=、LESS THAN OR EQUAL TO、および <= は除く)、NOT は比較演算子の一部と解釈される。
  2. 上記以外の場合、「NOT」は論理演算子として解釈されるため、否定比較条件内で暗黙的に左辺または比較演算子が補完される。

略記組み合わせ比較条件と否定組み合わせ比較条件、およびそれに相当する略さない形式の例を以下に示す。

略記組み合わせ比較条件 略さない形式
a > b AND NOT < c OR d   ((a > b) AND (a NOT < c)) OR (a NOT < d)  
a NOT EQUAL b OR c   (a NOT EQUAL b) OR (a NOT EQUAL c)  
NOT a = b OR c   (NOT (a = b)) OR (a = c)  
NOT (a GREATER b OR < c)   NOT ((a GREATER b) OR (a < c))  
NOT (a NOT > b AND c AND NOT d   NOT ((((a NOT > b) AND (a NOT > c)) AND (NOT (a NOT > d))))  
x > a OR y AND z   x > a OR (x > y AND x > z)  
x > a OR (y AND z)   x > a OR (x > y AND x > z)  
x > (a OR y) AND z   (x > a OR x > y) AND x > z  
x ( = a OR > b)   x = a OR x > b  
x = a AND ( > b OR < z )   x = a AND ( x > b OR x < z )  
a EQUAL b OR NOT GREATER OR EQUAL c OR d   (a EQUAL b) OR (NOT (a GREATER OR EQUAL c)) OR (a GREATER OR EQUAL d)  
a EQUAL b OR NOT >=c OR d   (a EQUAL b) OR (NOT (a >= c)) OR (a >= d)