一般構造

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-------'      

注:
  1. IBM® Extension