33.2.2 ソースファイル,リポジトリファイル,およびリポジトリ段落の関係
リポジトリファイル(.rep)は,COBOLソースファイルをコンパイルしたときに,そのソースファイルに格納されている翻訳単位ごとの定義情報から生成されます。
リポジトリファイルが生成されるディレクトリの規則について,次に示します。
-
環境変数CBLREPを設定している場合は,環境変数に指定したディレクトリに生成されます。環境変数CBLREPに複数のディレクトリを指定している場合は,最初に指定したディレクトリに生成されます。
-
環境変数CBLREPを設定していない場合は,カレントディレクトリに生成されます。
ここでは,複数の翻訳単位を含むCOBOLソースファイルを例にして,ソースファイル,リポジトリファイル,およびリポジトリ段落の関連を説明します。
(1) ソースファイルとリポジトリファイルの関係
- (例)
-
クラス定義,インタフェース定義,関数定義,およびプログラム定義を格納しているソースファイル(FILE1.cbl)をコンパイルすると,ソースファイルと同名で拡張子が(.rep)となったリポジトリファイル(FILE1.rep)が作成されます。リポジトリファイルには,それぞれの定義に対応する情報が格納されます。ただし,プログラム定義に対応する情報は,格納されません。
ソースファイルとリポジトリファイルの関係を,次に示します。
図33‒1 ソースファイルとリポジトリファイルの関係
(2) リポジトリファイルとリポジトリ段落の関係
リポジトリ段落に指定したクラス名,インタフェース名,利用者定義関数名,およびプロパティ名は,コンパイル時に同じソースファイル中に存在する翻訳単位,およびリポジトリファイル中から検索された情報と関連づけられます。
- (例)
-
プログラム定義が関数定義を呼び出す場合の,リポジトリ段落の指定例について,次に示します。
-
プログラム定義のリポジトリ段落で,参照する利用者定義関数名(FUNC1)を宣言します。
-
プログラム定義(PROGRAM1)は,リポジトリ段落の宣言に従ってリポジトリファイル(FILE1.rep)の中の利用者定義関数名(FUNC1)の情報を参照できます。リポジトリファイル内の定義情報を検索する方法については,「33.2.4 リポジトリファイルの参照方法」の「(2) リポジトリファイルの検索」を参照してください。
-
リポジトリファイルとリポジトリ段落の関係を,次に示します。
- 注意事項
-
-
リポジトリ段落で指定するクラス名,インタフェース名,または利用者定義関数名が,リポジトリ段落を指定した翻訳単位と異なるソースファイル中にある場合,参照先の翻訳単位をあらかじめコンパイルして,リポジトリファイルを生成しておく必要があります。
-
リポジトリ段落に指定したクラス名,インタフェース名,利用者定義関数名,およびプロパティ名は,リポジトリ段落を指定した定義中だけで有効となります。
-