COBOL/コーディング規則


ここではCOBOL言語の一般的なコーディング規約について解説します。
 
コンパイラ(翻訳)の種類によっては、規約のゆるいものがありますが、規を順守すれば異なるコンパイラによる影響を避けることができます。
 
COBOL言語は、1~80桁の範囲で記述します。
 
以下のサンプルを例にして説明します。
 
先頭の2行は、01~80までの桁位置を表しています。(縦2段で表示)
 
IDENTIFICATIONからが実際のプログラムの記述です。
 
00000000011111111112222222222333333333344444444445555555555666666666677777777778
12345678901234567890123456789012345678901234567890123456789012345678901234567890
 
000010 IDENTIFICATION        DIVISION.
000020 PROGRAM-ID.           SAMPLE01.
000030*DISPLAY(表示命令)
000040*
000050 ENVIRONMENT           DIVISION.
000060*
000070 DATA                  DIVISION.
000080 WORKING-STORAGE       SECTION.
000090*
000100 PROCEDURE             DIVISION.
000110 MAIN.
000120     DISPLAY “HELLO WORLD!”
000130     STOP RUN.
 
①行番号(01~06桁目)
1~6桁目は、行番号を記述します。(例では「000010」から「000130」まで10刻みの昇順番号を記述しています。
「000100」から「001300」まで100刻みで記述する人もいますが、それでも問題ありません。
行の番号を順番に記述して、わかりやすくしているだけです。
必要としなければスペースのまま記述しなくても問題ありません。
 
②行属性(07桁目)
7桁目は、行の属性を記述します。(例では「スペース」と「*」を記述しています。
記述できる文字と意味は、以下の通りです。
 
スペース:翻訳されます。
-   :前の行の継続行として翻訳されます。
*   :注釈行(翻訳されません、8桁目以降は分かりやすくするための説明などを任意に記述します。)
D   :デバック行(テストモードの時のみ翻訳されます(普通使用するケースは少ない)
翻訳というのは、COBOLの命令とみなされること)
 
③Aマージン(08~11桁目)
8~11桁目は、命令の種類によって、記述する開始位置が異なります。
例では、DIVISION、SECTION、MAIN(手続き名)の命令は、8桁目から記述します。
他にも8桁目から記述する命令がありますが、詳細については使用する都度覚えていきましょう。
 
④Bマージン(12~72桁目)
12~72桁目は、Aマージンと同様に命令の種類によります。
例では、「PROCEDURE DIVISIN」以降に記述される手続き名以外の命令は、Bマージンに記述します。
詳細については使用する都度覚えていきましょう。
 
⑤注釈欄(73~80桁目)
73~80桁目は、注釈欄として使用されますので翻訳されません。
プログラムを変更したときの日付を記述する場合もありますが、普通はスペースです。
 
特記事項
①COBOLの種類(日本語COBOLなど)によっては、80桁以上記述できるものもあります。
②YCOBOLは、1から6桁目の行番号が存在しないフリーフォーマット形式です。
1桁目が「*」なら注釈行、「*」以外なら翻訳行とみなされます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です