COBOL2002 ユーザーズガイド


34.2.1 リポジトリファイルの生成とコンパイル時の利用

関数定義の場合とオブジェクト指向機能の場合について,それぞれリポジトリファイルの生成とコンパイル時のリポジトリファイルの利用について,例を示します。

〈この項の構成〉

(1) 関数定義の場合

関数定義を呼び出すCOBOLプログラムの場合の例を,次に示します。なお,関数定義については,「2.5 利用者定義関数」を参照してください。

[図データ]

  1. 関数定義FUNC1が含まれるソースファイルFUNC1.cblをコンパイルして,リポジトリファイルFUNC1.repを生成します。

  2. 関数定義FUNC1を参照するプログラム定義PROGRAM1で,環境部構成節のリポジトリ段落に,参照する関数定義FUNC1を指定します。

  3. プログラム定義PROGRAM1をコンパイルすると,リポジトリ段落の指定を基に,関数定義FUNC1が含まれるリポジトリファイルFUNC1.repが検索して取り込まれます。リポジトリファイルの検索規則については,「34.2.4 リポジトリファイルの参照方法」の「(2) リポジトリファイルの検索」を参照してください。

  4. コンパイラは,リポジトリファイルから取り込んだ関数定義FUNC1の情報と,参照しているプログラム定義PROGRAM1の関数一意名FUNCTION FUNC1の情報の適合をチェックします。このとき,情報が適合していなければエラーメッセージが出力され,適合していればコンパイルが正常終了します。

(2) オブジェクト指向機能の場合

オブジェクト指向機能を呼び出すCOBOLプログラムの場合の例を,次に示します。なお,オブジェクト指向機能については,「20 オブジェクト指向機能」を参照してください。

[図データ]

  1. クラス定義CLASS1が含まれるソースファイルCLASS1.cblをコンパイルして,リポジトリファイルCLASS1.repを生成します。

  2. クラス定義CLASS1を参照するプログラム定義PROGRAM1で,環境部構成節のリポジトリ段落に,参照するクラス定義CLASS1を指定します。

  3. プログラム定義PROGRAM1をコンパイルすると,リポジトリ段落の指定を基に,クラス定義CLASS1が含まれるリポジトリファイルCLASS1.repが検索して取り込まれます。リポジトリファイルの検索規則については,「34.2.4 リポジトリファイルの参照方法」の「(2) リポジトリファイルの検索」を参照してください。

  4. コンパイラは,取り込んだクラス定義CLASS1の情報から,クラス定義CLASS1に含まれるメソッド定義METH-1の情報と,参照しているプログラム定義PROGRAM1のINVOKE文に指定したメソッドMETH-1の情報の適合をチェックします。このとき,情報が適合していなければエラーメッセージが出力され,適合していればコンパイルが正常終了します。