ANS85 

条件名、データ名、ファイル名、レコード名、報告書名、およびMF 型定義名の規則

ソース要素内で条件名、データ名、ファイル名、レコード名、報告書名

MF および型定義名

が宣言されている場合、これらの名前はそのソース要素内でのみ参照できる。ただし、これらの名前のうちのいくつかが大域的に使用され、そのソース要素が他のソース要素を内包する場合は、内包されるソース要素からも参照できる。

単一のソース要素によって、条件名、データ名、ファイル名、レコード名、報告書名

MF および型定義名

であると宣言された名前の一意性を規定する要件については、「COBOL の語」セクションの利用者定義語についての説明を参照。

あるソース要素について、その中に含まれるソース要素内で宣言されている条件名、データ名、ファイル名、レコード名、報告書名

MF または型定義名

は参照できない。

大域名は、それが宣言されているソース要素内、あるいはそのソース要素に直接的または間接的に含まれているソース要素内から参照できる。

ソース要素 A にソース要素 B が直接的に含まれている場合、両方のソース要素で、条件名、データ名、ファイル名、レコード名、報告書名

MF または型定義名

を、それぞれ同じ利用者定義語を使用して定義できる。両方のソース要素中に存在する名前をソース要素 B 中で参照した場合、次の規則に従って、どちらのものを指すかが判定される。

  1. 参照される項目を判別するために使われる一連の名前は、ソース要素 B で定義されているすべての名前と、ソース要素 A およびソース要素 A を直接的または間接的に含む任意のソース要素で定義されているすべてのグローバル名で構成される。この名前の組み合わせ、修飾に関する通常規則、および参照の一意性に関する他の規則は、1 つ以上の項目が識別されるまで適用される。
  2. 該当する項目を 1 つだけ特定した場合、それが参照される項目である。
  3. 該当する項目を複数特定した場合、ソース要素 B の局所名を複数持つことはできない。ソース要素 B 用の局所名を持つ項目がないまたは 1 つある場合、次の規則が適用される。
    1. 名前がソース要素 B の中で宣言されている場合、ソース要素 B 内の項目が参照される。
    2. あるいは、ソース要素 A が他のソース要素に含まれている場合、次のように項目が参照される。
      1. 名前がソース要素 A 内で宣言されている場合、ソース要素 A 内の項目が参照される。
      2. 名前がソース要素 A 内ではなくソース要素 A を含むソース要素内で宣言されている場合、ソース要素 A を含むソース要素内の項目が参照される。さらに上位のソース要素がある場合、単一の有効な名前が見つかるまで、この規則が順次上位ソースに適用される。