この記事は COBOL アドベントカレンダー2020 3日目の記事です。
当分は COBOL についての基本的な話をする予定なので、
多くの部分で wikipedia などの記述とカブると思います。
では、COBOL プログラムの第一歩として
1行ごとの書き方についてお話しました。
最後に出てきたコード例はこんな感じでしたね。
例:
000100****************************
000200* ここはコメント
000300****************************
000400 IDENTIFICATION DIVISION.
000500 PROGRAM-ID. COBOL_SAMPLE01.
000600
今回はここで出てきた
IDENTIFICATION DIVISION.
などの
COBOL の基本構文について触れていきましょう。
COBOL プログラムの基本構造として、
以下に挙げる 4つのDIVISION を順に記述していきます。
COBOL プログラムを構成する基礎となる部分なので、順に追っていきましょう。
COBOL プログラムの一番最初に記述する DIVISION です。
見出し部では必須の項目として PROGRAM-ID
を記述します。
COBOL プログラムでは、ファイル名などではなくこの PROGRAM-ID
を用いてプログラムを区別するため、
他のプログラムと被らない 一意なプログラムID を指定する必要があります。
プログラム名は英字で始まる英数字で構成される文字列を指定します。
また、見出し部では PROGRAM-ID
の他に任意の項目として
などがあります。
これら任意の項目は現在のCOBOLでは廃止とされており、
新たにCOBOLプログラムを書くときには記述すべきではないとされていますが、
AUTHOR
や DATE-WRITTEN
に関しては引き続き使われているような気がします(要出典)。
例:
000100****************************
000200* ここはコメント
000300****************************
000400 IDENTIFICATION DIVISION.
000500 PROGRAM-ID. COBOL_SAMPLE01.
000600 AUTHOR. JUNYA KITAYAMA.
000700 DATE-WRITTEN. 12/03/2020.
000800
COBOL プログラムの2番目に記述する DIVISION です。
ソース作成マシン名、利用ファイルの定義など、実行に必要な環境を記述します。
あまりありませんが、もし仮に入出力を全く行なわないプログラムであれば省略可能となります。
ENVIRONMENT DIVISION は 大きく
CONFIGURATION SECTION = 構成節 と INPUT-OUTPUT SECTION 入出力節の2つからなります。
プログラムの作成・実行環境を提示する節です。
以下の3つの段落があります。
SOURCE-COMPUTER
段落
IBM-I
と記述されるものを多く見かけます。慣例的な表現でしょうか。OBJECT-COMPUTER
段落
IBM-I
と記述されるものを多く見かけます。慣例的な表現でしょうか。SPECIAL-NAMES
段落
CONFIGURATION SECTION
における主要な記述となります。プログラム上でファイルやプリンターなどを利用する場合には、必須になる項目。
ファイルを扱わない COBOL プログラムはほとんど存在しないため、
ここの節が環境部ではメインの記述となります。
FILE-CONTROL
段落
SELECT
文節を記述することでァイルやプリンターなどの割り当てを記述します。I-O-CONTROL
段落
標準出力に出力をプリントするような COBOL プログラムの場合、このような指定になります。
(早速 INPUT-OUTPUT SECTION
を指定しない例外的なコードになってしまいましたがご容赦ください)
例:
000100****************************
000200* ここはコメント
000300****************************
000400 IDENTIFICATION DIVISION.
000500 PROGRAM-ID. COBOL_SAMPLE01.
000600 AUTHOR. JUNYA KITAYAMA.
000700 DATE-WRITTEN. 12/03/2020.
000800 ENVIRONMENT DIVISION.
000900 CONFIGURATION SECTION.
001000 SOURCE-COMPUTER. IBM-I.
001100 OBJECT-COMPUTER. IBM-I.
001200 SPECIAL-NAMES.
001300 CONSOLE IS CONSL.
今回は COBOL 基本構文である 4つの DIVISION の中から
IDENTIFICATION DIVISION
と ENVIRONMENT DIVISION
についてお話しました。
次回は残り2つの DIVISION についてお話します。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント