Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 言語解説書


COBOL プログラムの構造

COBOL ソース・プログラムは、構文上、正確な COBOL ステートメントの集合です。

ネストされたプログラム
ネストされたプログラム は、別のプログラムに含まれるプログラムです。 中に含まれるこれらのプログラムは、中に含むプログラムのリソースの一部を参照することができます。プログラム B がプログラム A に含まれる場合、同じくプログラム B を含むプログ ラムがプログラム A に他に存在しなければ、プログラム B は直接的に プログラム A に 含まれています。あるプログラムがプログラム A に含まれており、そのプログラムがプログラム B を含む場合は、プログラム B は間接的に プログラム A に含まれていることになります。ネストされたプログラムについて詳しくは、ネストされたプログラムおよびEnterprise COBOL プログラミング・ガイド」を参照してください。
オブジェクト・プログラム
オブジェクト・プログラム は、実行可能な機械語命令と、 問題解決のために提供されるデータと対話するために設計された他のエンティティーからなる集合またはグループです。オブジェクト・プログラムは、 一般にソース・プログラムに対して COBOL コンパイラーを操作した結果生じた機械語です。 オブジェクト・プログラムという用語は、クラス定義のコンパイルの結果生じたメソッドも指します。
実行単位
実行単位 は、相互に作用し合い、実行時に問題解決を提供するエンティティーとして機能する 1 つ以上のオブジェクト・プログラムです。
兄弟プログラム
兄弟プログラム は、同じプログラムに直接的に含まれるプログラムです。

COPY および REPLACE ステートメントと END PROGRAM マーカーを除き、 COBOL ソース・プログラムのステートメント、項目、段落、およびセクションは、 以下の 4 つの部に分類されます。

COBOL ソース・プログラムの終了は、END PROGRAM マーカーによって示されます。 ネストされたプログラムがない場合には、 ソース・プログラム行の終わりによっても COBOL プログラムの終了になります。

次に、独立してコンパイルされる COBOL ソース・プログラムを構成する 項目とステートメントのフォーマットを示します。

構文図を読む構文図をスキップする
フォーマット: COBOL ソース・プログラム

>>-+-IDENTIFICATION-+--DIVISION.--PROGRAM-ID--+---+------------->
   '-ID-------------'                         '-.-'   

>--プログラム名-1--+------------------------------------+------->
                   '-+----+--+-RECURSIVE-+--+---------+-'   
                     '-IS-'  '-INITIAL---'  '-PROGRAM-'     

>--+---+--+----------------+------------------------------------>
   '-.-'  '-見出し部の内容-'   

>--+-------------------------------------+---------------------->
   '-ENVIRONMENT DIVISION.--環境部の内容--'   

>--+--------------------------------+--------------------------->
   '-DATA DIVISION.--データ部の内容--'   

>--+-------------------------------------+---------------------->
   '-PROCEDURE DIVISION.--手続き部の内容--'   

>--+--------------------------------------------------------------------------+-><
   '-+----------------------------------------+--END PROGRAM--プログラム名-1.-'   
     | .------------------------------------. |                                   
     | V                                    | |                                   
     '---| ネストされたソース・プログラム |-----+-'                                   

ネストされたソース・プログラム

|--+-IDENTIFICATION-+--DIVISION.--PROGRAM-ID--+---+------------->
   '-ID-------------'                         '-.-'   

>--プログラム名-2----------------------------------------------->

>--+----------------------------------------------+--+---+------>
   '-+----+--+-COMMON--+---------+-+--+---------+-'  '-.-'   
     '-IS-'  |         '-INITIAL-' |  '-PROGRAM-'            
             '-INITIAL--+--------+-'                         
                        '-COMMON-'                           

>--+----------------+------------------------------------------->
   '-見出し部の内容-'   

>--+-------------------------------------+---------------------->
   '-ENVIRONMENT DIVISION.--環境部の内容--'   

>--+--------------------------------+--------------------------->
   '-DATA DIVISION.--データ部の内容--'   

>--+-------------------------------------+---------------------->
   '-PROCEDURE DIVISION.--手続き部の内容--'   

>--+----------------------------------------+--END PROGRAM------>
   | .------------------------------------. |                
   | V                                    | |                
   '---| ネストされたソース・プログラム |-----+-'                

>--プログラム名-2.----------------------------------------------|

一連の別々の COBOL プログラムもコンパイラーへの入力として使用できます。次に示すのは、 バッチ・コンパイルの場合の一連のソース・プログラムを 構成する項目とステートメントのフォーマットです。

構文図を読む構文図をスキップする
フォーマット: 一連の COBOL ソース・プログラム

   .------------------------.   
   V                        |   
>>---COBOL ソース・プログラム-+--------------------------------><

END PROGRAM プログラム名
END PROGRAM マーカーは、一連のプログラムの 1 つ 1 つを区切ります。 プログラム名 は、先行する PROGRAM-ID 段落で宣言したプログラム名と一致する必要がありま す。

プログラム名 は、ユーザー定義語として、または英数字リテラルで、 指定することができます。いずれにしても、プログラム名 は、プログラム名の形成規則に従う必要があり ます。 プログラム名 は、形象定数にすることはできません。リテラルに英小文字が含まれていれば、それは大文字に変換されます。

一連のプログラムの最後のプログラムでは、そのプログラムがネストされたソース・プログラムを何も含まない場合に限り、END PROGRAM マーカーの指定は任意です。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)