COBOL ソース・プログラムは、構文上、正確な COBOL ステートメントの集合です。
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 マーカーの指定は任意です。