Previous 翻訳集団の概念 見出し部 Next

第 4 章 : 翻訳集団の定義の概要

4.1 はじめに

この章ではCOBOL言語の基本的な定義について説明する。

まず最初に翻訳集団全体の構造を説明する。翻訳集団の各構成要素は4つの部に分かれている。具体的には、見出し部、環境部、データ部、手続き部がある。

したがって、この資料もそれらの部別に構成されている。各部の中では、COBOLの節ごとに見出しを付けて説明する。項は、参照しやすいように、アルファベット順に配列してある。組み込み関数およびCOBOLの動詞は項のレベルに含める。

追加の言語機能として、DBCS、報告書作成もサポートされている。それらについては、マニュアル『言語リファレンス』の『追加トピック』を参照。

4.2 翻訳集団の構造

翻訳集団は、コンパイラに提出されるソース単位すべてである。

翻訳集団には、0個以上のソース単位が含まれる。翻訳集団は一連のソース単位である。ソース単位の中に他のソース単位を含めることができる。他のソース単位に含まれるソース単位から、親のソース単位の資源の一部を参照できる。

ソース単位は見出し部で始まる。

ソース単位には、別のソース単位が含まれる。

ソース原文操作文、

および終了見出し、

および翻訳指示を除き、

ソース単位の文、記述項、段落、および節は、次の順序で4つの部分にグループ化され、配列される。

  1. 見出し部
  2. 環境部
  3. データ部
  4. 手続き部

ソース単位中の部の開始は適切な部の見出しによって示される。

見出し部の開始は、見出し部内で許されている段落の見出しのどれかによっても示すことができる。

ソース単位中の部の終了は下記のどれかひとつによって示される。

  1. そのソース単位中の次の部の開始
  2. そのソース単位の終了見出し
  3. それ以上原始行を記述できない物理位置の後

ソース単位の終了は、翻訳集団内に後続の原始行が存在しないことによって示される。

ソース単位の終了は、終了見出しによってのみ示される。

ソース単位Bが他のソース単位Aに含まれるとき、包含関係は直接的でも間接的でもかまわない。Aに含まれBを含む他のソース単位が存在しない場合、ソース単位Bはソース単位Aに直接的に含まれる。Aに含まれBを含む他のソース単位が存在する場合、ソース単位Bはソース単位Aに間接的に含まれる。

他のソース単位に直接的にまたは間接的に含まれるソース単位は、この仕様においては、別のソース単位とみなされる。ただし、入れ子になったソース単位は親のソース単位中に定義されている資源の一部を追加的に参照することができる。

他のソース単位に含まれるソース単位をコンパイルした結果の実行用プログラム・コードは、この仕様においては、親のソース単位をコンパイルした結果の実行用プログラム・コードと不可分であるとみなされる。

翻訳単位は他のソース単位に含まれていないソース単位である。翻訳集団内で翻訳単位の前または後ろに他の翻訳単位が来ることもある。

ソース要素はネストされているソース単位を除いたソース単位である。

ランタイム要素はソース要素をコンパイルした結果である。

ランタイム・モジュールは翻訳単位をコンパイルした結果である。

一般形式

構文規則
  1. 翻訳集団内では、

    呼び出しプロトタイプ、および

    関数プロトタイプおよびプログラムプロトタイプは、

    他のすべての型のソース単位の前に置かれなければならない。

  2. 翻訳集団に、同様に外部化された名前を持つ関数定義と関数プロトタイプ定義の両方が含まれる場合は、この両方の翻訳単位の署名は同一とする。

  3. インターフェイス定義中のメソッドのデータ部には連絡節だけを含めることができる。

  4. インターフェイス定義中のメソッドのデータ部には手続き部だけを含めなければならない。

  5. 呼出しプロトタイプにおいては、手続き部の見出しは手続き部の見出しの形式 2 の規則に準拠していなければならず、ENTRY文を書くときはENRTY文の形式 2 の規則に従わなければならない。

一般規則
  1. 呼出しプロトタイプにおいては、データ部内の節は連絡節以外はすべて無視され、手続き部は手続き部の見出しとENTRY文以外は無視される。

  2. 関数プロトタイプおよびプログラムプロトタイプでは、データ部の節は、連絡節以外は無視される。また、手続き部は、PROCEDURE DIVISIONヘッダを除き、無視される。

4.3 終了見出し

終了見出しは定義の終わりを示す。

一般形式

構文規則
  1. 他のソース単位を含むソース単位、他のソース単位に含まれるソース単位、他のソース単位に先行するソース単位には、終了見出しを付けなければならない。

  2. プログラム名-1は先行するプログラム名段落中に宣言されているプログラム名と同じでなければならない。

  3. プログラム名-1のプログラム名段落とプログラム終了見出しとの間に特定のプログラム名を宣言したプログラム名段落を記述する場合、プログラム名を参照するプログラム終了見出しはプログラム名-1を参照するプログラム終了見出しより前に来なければならない。.

  4. 関数プロトタイプ名-1は、対応する関数名段落で宣言されている関数プロトタイプ名と同じでなければならない。

  5. 利用者関数名-1は、対応する関数名段落で宣言されている利用者関数名と同じでなければならない。

  6. プログラムプロトタイプ名-1は、対応するプログラム名段落中で宣言されているプログラムプロトタイプ名と同じでなければならない。

  7. クラス名-1は対応するクラス名段落中に宣言されているクラス名と同じでなければならない。

  8. メソッド名-1は対応するメソッド名段落中に宣言されているメソッド名と同じでなければならない。

    メソッド名段落中にPROPERTY指定を指定した場合は、メソッド名-1を省く。

  9. インターフェイス名-1は対応するインターフェイス名段落中に宣言されているインターフェイス名と同じでなければならない。

  10. 終了見出しによって終わりを区切られているソース単位が他のソース単位に含まれている場合、次の文は別のソース単位の最初の文か親のソース単位の終わりを区切る他の終了見出しのどちらかでなければならない。

  11. 終了見出しによって終わりを区切られているソース単位が他のソース単位に含まれていない場合、次の文は別の翻訳単位の最初の文でなければならない。

一般規則
  1. 終了見出しは指定したソース単位の終了を示す。


Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名は国際法によって保護されています。


Previous 翻訳集団の概念 見出し部 Next