COBOL2002 言語 拡張仕様編
ポインタ項目の参照は次の場所に許される。
- ポインタ比較の条件式中の左辺または右辺。
- ポインタを設定するSET文の送り出し側作用対象または受け取り側作用対象。
- CALL文BY VALUE指定。
- <この項の構成>
- (1) ポインタ比較の条件式
- (2) SET文
- 形式
- 機能
- 二つの項目のUSAGE(用途)が,明示的または暗黙的にPOINTERであれば比較できる。
- この場合の演算子は,EQUALとNOT EQUALだけ使用できる。
- 構文規則
- 一意名1と一意名3は,連絡節,局所場所節または作業場所節で定義した01〜49,66または77レベルのデータ項目である。次に示すものは指定できない。
・関数一意名とオブジェクトプロパティ
・ファクトリ定義やインスタンス定義で定義されたデータ項目
・オブジェクト参照や,強く型付けされた集団項目に従属する基本項目
- 一意名2と一意名4は,ポインタ項目でなければならない。
- 比較条件対象が両方とも表意定数NULLの場合,比較はしない。
- 一意名1と一意名3がブール項目のときは,バイト境界に調整しておかなければならない。
- 一般規則
- 二つのアドレスが同じ場合だけ等しい結果となる。それ以外の場合は等しくない。
- 形式
- 機能
- データ項目のアドレスをポインタ変数に割り当てるのに使用する。
- 構文規則
- 一意名1は,連絡節で定義した01レベルまたは77レベルの項目である。一意名1には,強く型付けされた集団項目を指定できない。
- 一意名1は,可変長項目であってはならない。
- 一意名1は,部分参照してはならない。
- 一意名3は,連絡節,局所場所節または作業場所節で定義した01〜49,66または77レベルの項目である。次に示すものは指定できない。
・関数一意名やオブジェクトプロパティ
・ファクトリ定義やインスタンス定義で定義されたデータ項目
・オブジェクト参照データ項目や,強く型付けされた集団項目に従属する基本項目
・強く型付けされた集団項目
- 一意名2と一意名4は,ポインタ項目である。
- 一意名3がブール項目のときは,バイト境界に調整しておかなければならない。
- 一般規則
- TO指定中のポインタ項目のアドレスが,一意名2で表されたポインタ項目へ移される。一意名1がある場合,これに従属する任意の参照はTO指定が識別するアドレスを持つ項目を対象として実行される。TO指定が識別するアドレスは,一意名4に含まれるアドレスまたは一意名3のアドレスである。TO指定にNULLを書くとプログラムのどんなデータも指さないポインタとみなされる。
- 【標準仕様との関連】
- COBOL2002 言語 標準仕様編 10.8.43 SET文
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.