COBOL2002 ユーザーズガイド


34.2.4 リポジトリファイルの参照方法

リポジトリ段落に指定したクラス名,インタフェース名,または利用者定義関数名の情報は,コンパイル時に次の順序で検索されます。

  1. 同じソースファイル中に存在する翻訳単位のクラス名,インタフェース名,または利用者定義関数名

  2. リポジトリファイル中のクラス名,インタフェース名,または利用者定義関数名

注意事項

リポジトリ段落に指定したプロパティ名の定義情報は,同じリポジトリ段落に指定したクラス定義やインタフェース定義に含まれるため,個別の定義情報は検索されません。

〈この項の構成〉

(1) 同じソースファイル中に存在する翻訳単位名の検索

COBOL2002コンパイラは,まず同じソースファイル中に存在する翻訳単位中で,リポジトリ段落に指定されたクラス名,インタフェース名,または利用者定義関数名を探します。

同じソースファイル中で,リポジトリ段落よりも後に参照するクラス名,インタフェース名,または利用者定義関数名を指定してもかまいません。また,リポジトリファイルに同じクラス名,インタフェース名,または利用者定義関数名が存在する場合でも,同じソースファイル中の翻訳単位名の情報が優先して使用されます。

図34‒3 同じソースファイル中の翻訳単位名の検索の例

[図データ]

  1. クラス名を定義するクラス定義DRINKが,リポジトリ段落でのクラス名DRINKの宣言より後に出現してもかまいません。

  2. 同じソースファイル中にクラス名DRINKの情報があるため,リポジトリファイルは参照されません。

(2) リポジトリファイルの検索

リポジトリファイルは,次の順序で検索されます。

  1. 環境変数CBLREPに指定したフォルダ

  2. カレントフォルダ

  3. 環境変数CBLSYSREPに指定したフォルダ

  4. インストールフォルダ下のrepフォルダ

注※

この場合のカレントフォルダは,次のようになります。

  • ccbl2002コマンドを使用している場合

    ccbl2002コマンドを起動したフォルダ

  • 開発マネージャを使用している場合

    プロジェクトの作業フォルダ

環境変数CBLREPには,リポジトリファイルの検索フォルダをカレントフォルダ以外の場所に指定したい場合に設定します。環境変数CBLSYSREPは,DLLとリポジトリファイルだけが提供されている場合など,生成元ソースファイルのないリポジトリファイルの検索フォルダを設定します。これらの環境変数の詳細については,「33.6 コンパイラ環境変数」を参照してください。

なお,標準クラスのBASEクラスは,インストールフォルダ\rep」のフォルダに格納されています。BASEクラスについては,「COBOL2002 言語 標準仕様編」 「12.2 BASEクラス」を参照してください。

翻訳単位名の検索時,同じフォルダに複数のリポジトリファイルが存在する場合,検索する翻訳単位名と同名のリポジトリファイルの中が検索され,見つからなければ,アルファベット順にリポジトリファイルが検索され,見つかった時点で検索が終了します。

検索したフォルダ下にリポジトリファイルがない場合や,リポジトリファイルに読み込み権限がない場合,リポジトリファイルが不当な場合は,コンパイル時にエラーメッセージが出力され,コンパイルが終了します。