翻訳集団

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

翻訳集団には、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ヘッダを除き、無視される。