プロシージャー・ポインターと関数ポインターの比較条件
比較条件のプロシージャー・ポインター・データ項目または関数ポインター・データ項目を指定したときには、比較演算子として EQUAL および NOT EQUAL だけが使えます。
プロシージャー・ポインター・データ項目は、USAGE PROCEDURE-POINTER として明示的に定義されます。関数ポインター・データ項目は、USAGE FUNCTION-POINTER として明示的に定義されます。
比較に使われる 2 つのアドレスが結果的に同じ保管場所にあれば、
それらのオペランドは等しいことになります。
この比較条件は、IF、PERFORM、EVALUATE、および SEARCH のフォーマット 1 の各ステートメントの中で使用できます。フォーマット 2 の SEARCH ステートメント (SEARCH ALL) の中では使用できません。
プロシージャー・ポインター・データ項目に適用可能な意味のある順序付けは存在しないからです。
| フォーマット 3: プロシージャー・ポインターまたは関数ポインター関係 |
 >>-+-------+--+----+--+-----+--+-EQUAL--+----+-+--+-------+----><
+-ID-1--+ '-IS-' '-NOT-' | '-TO-' | +-ID-2--+
+-NULL--+ '- = -----------' +-NULL--+
'-NULLS-' '-NULLS-'
|
- ID-1、ID-2
- USAGE PROCEDURE-POINTER または USAGE FUNCTION-POINTER として記述します。ID-1 および ID-2 を同じ内容にする必要はありません。
- NULL、NULLS
- もう一方のオペランドが、USAGE FUNCTION-POINTER または USAGE PROCEDURE-POINTER として定義されている場合に限り使用できます。つまり、NULL=NULL になることはありえません。
|