一般構造
COBOL ソース・プログラムは、正しい構文の一連の COBOL ステートメントです。
COBOL ソース・プログラムは、他の COBOL ソース・プログラムを含むことがあります。 含まれる側のプログラムは、含む側のプログラムのリソースの一部を参照することがあります。
このようなプログラムを含むという概念は、ネストと呼ばれ、含まれるプログラムはネストされたプログラムと呼ばれます。 ネストされたプログラムは、直接または間接に別のプログラムに含まれます。 例えば、プログラム B がプログラム A に含まれている場合、プログラム A に含まれプログラム B を含むような介在プログラムがなければ、プログラム B は「直接」含まれるということになります。プログラム A に含まれプログラム B を含むような介在プログラムがあると 、プログラム B は「間接的に」プログラム A に含まれるということになります。
含まれるプログラムおよび含むプログラムについて詳しくは、 「IBM Rational® Development Studio for i: ILE COBOL プログラマーの手引き」のネストされたプログラムに関するセクショ ンを参照してください。
コンパイラー指示ステートメントと END PROGRAM ヘッダーを除き、COBOL ソース・プログラムのステートメント、項目、段落、およびセクションは、次の 4 つの部に分けられます。
COBOL ソース・プログラムの終わりは、END PROGRAM ヘッダー (指定された場合) で 示されるか、またはそれ以上ソース・プログラムの行がないことによって示されます。
次の図に、COBOL プログラムの一般構造を簡単に図示してあります。
COBOL ソース・プログラム - 形式 >>-+-IDENTIFICATION-+--DIVISION.--PROGRAM-ID.--+-プログラム名-1---+----> | (1) | | (1) | '-ID-------------' '-リテラル-1-------' >--+------------------------------------+--.--+----------------+-------> '-+----+--+-INITIAL---+--+---------+-' '-見出し部の内容-' '-IS-' '-RECURSIVE-' '-PROGRAM-' >--+-------------------------------------+-----------------------------> '-ENVIRONMENT DIVISION.--環境部の内容-' >--+--------------------------------+----------------------------------> '-DATA DIVISION.--データ部の内容-' >--+-------------------------------------+-----------------------------> '-PROCEDURE DIVISION.--手続き部の内容-' >--+--------------------------------------------------------------------------+->< '-+--------------------------------+--END PROGRAM--+-プログラム名-1---+--.-' | .----------------------------. | | (1) | | V | | '-リテラル-1-------' '---| ネストされたプログラム |-+-' ネストされたプログラム |--+-IDENTIFICATION-+--DIVISION.--PROGRAM-ID.--+-プログラム名-2---+---> | (1) | | (1) | '-ID-------------' '-リテラル-2-------' >--+----------------------------------------------------+-------> '-+----+--+-COMMON--+-----------+-----+--+---------+-' '-IS-' | +-INITIAL---+ | '-PROGRAM-' | '-RECURSIVE-' | '-+-INITIAL---+--+--------+-' '-RECURSIVE-' '-COMMON-' >--.--+----------------+--+-------------------------------------+------------> '-見出し部の内容-' '-ENVIRONMENT DIVISION.--環境部の内容-' >--+--------------------------------+----------------------------------> '-DATA DIVISION.--データ部の内容-' >--+-------------------------------------+--+--------------------------------+----> '-PROCEDURE DIVISION.--手続き部の内容-' | .----------------------------. | | V | | '---| ネストされたプログラム |-+-' >--END PROGRAM--+-プログラム名-2---+--.-------------------------------| | (1) | '-リテラル-2-------'
注:
- IBM® Extension