プログラム名(PROGRAM-ID)段落は、プログラムを識別する名前を付けるとともに、指定されたプログラム属性をプログラムに割り当てる。
  プログラム名段落は、呼び出しプロトタイプを識別する名前を指定する。
プログラム名段落は、呼び出しプロトタイプを識別する名前を指定する。
 
 
 
 


 プログラム名-1は文字定数であってもよい。それを引用符で囲んでも囲まなくてもよい。定数の内容はプログラム名の構成規則に従っていなければならない。ただし、文字@,#, $を含んでいてもよい。
プログラム名-1は文字定数であってもよい。それを引用符で囲んでも囲まなくてもよい。定数の内容はプログラム名の構成規則に従っていなければならない。ただし、文字@,#, $を含んでいてもよい。
 
  プログラム名-1はユーザーが定義した他の語と同じであってもよい。
プログラム名-1はユーザーが定義した他の語と同じであってもよい。
 他のプログラムに含まれないプログラムのプログラム名-1の最初の8文字はシステム内で一意でなければならない。先頭の文字はアルファベットでなければならない。そうでない場合は、下記の規則に従って変換される。:
他のプログラムに含まれないプログラムのプログラム名-1の最初の8文字はシステム内で一意でなければならない。先頭の文字はアルファベットでなければならない。そうでない場合は、下記の規則に従って変換される。:
  他のプログラムに含まれないプログラムのプログラム名-1の2文字目から8文字目までの間にハイフンがあると、それはゼロに変えられる。
他のプログラムに含まれないプログラムのプログラム名-1の2文字目から8文字目までの間にハイフンがあると、それはゼロに変えられる。 
  この動作はMAPNAMEコンパイラ指令を用いて制御する。
この動作はMAPNAMEコンパイラ指令を用いて制御する。
  他のプログラムに含まれるプログラムに関しては、プログラム名-1は長さが30文字まで任意のユーザー定義のCOBOLの語とすることができる。最初の8文字が一意である必要はない。上記のプログラム名の変換は行われない。小文字を使用してもかまわない。ただし、小文字を使用した場合、大文字と小文字は区別される。
他のプログラムに含まれるプログラムに関しては、プログラム名-1は長さが30文字まで任意のユーザー定義のCOBOLの語とすることができる。最初の8文字が一意である必要はない。上記のプログラム名の変換は行われない。小文字を使用してもかまわない。ただし、小文字を使用した場合、大文字と小文字は区別される。 
 他のプログラムに含まれるプログラムに、その親の翻訳単位内に含まれている他のプログラムと同じ名前を付けてはならない。
他のプログラムに含まれるプログラムに、その親の翻訳単位内に含まれている他のプログラムと同じ名前を付けてはならない。
  任意指定のCOMMON句は、プログラムが他のプログラムに含まれる場合だけ指定できる。
任意指定のCOMMON句は、プログラムが他のプログラムに含まれる場合だけ指定できる。
  IS PROGRAM指定を書く場合は、COMMON句とINITIAL句のどちらか一方、または両方、
IS PROGRAM指定を書く場合は、COMMON句とINITIAL句のどちらか一方、または両方、
  またはRECURSIVE句
またはRECURSIVE句
を指定する。
 定数-1は英数字の定数でなければならず、表意定数であってはならない。
定数-1は英数字の定数でなければならず、表意定数であってはならない。
  他のプログラム内に含まれるプログラムの中に定数-1を指定してはならない。
他のプログラム内に含まれるプログラムの中に定数-1を指定してはならない。
  このプログラムを直接または間接に含むプログラムが初期プログラムである場合は、RECURSIVE句を指定してはならない。
このプログラムを直接または間接に含むプログラムが初期プログラムである場合は、RECURSIVE句を指定してはならない。
  他のプログラムに含まれるプログラムの中で、RECURSIVE句を 指定してはならない。
他のプログラムに含まれるプログラムの中で、RECURSIVE句を 指定してはならない。
  他のプログラムを含むプログラムの中で、RECURSIVE句を 指定してはならない。
他のプログラムを含むプログラムの中で、RECURSIVE句を 指定してはならない。
  Program-prototype-name-1は、プログラムプロトタイプを識別する。ただし、定数-1(指定されている場合)は、本番環境の外部のプログラムプロトタイプである。
Program-prototype-name-1は、プログラムプロトタイプを識別する。ただし、定数-1(指定されている場合)は、本番環境の外部のプログラムプロトタイプである。 COMMON指定は、プログラムが共通のものであることを指定する。共通のプログラムは他のプログラムの中に含まれるが、親のプログラム以外のプログラムからも呼び出せる。
 COMMON指定は、プログラムが共通のものであることを指定する。共通のプログラムは他のプログラムの中に含まれるが、親のプログラム以外のプログラムからも呼び出せる。
  INITIAL指定は、プログラムが初期処理用のものであることを指定する。初期プログラムが呼ばれると、そのプログラムおよびその中に含まれるすべてのプログラムが初期化される(翻訳集団の概念の章で前述した初期状態節を参照)。
INITIAL指定は、プログラムが初期処理用のものであることを指定する。初期プログラムが呼ばれると、そのプログラムおよびその中に含まれるすべてのプログラムが初期化される(翻訳集団の概念の章で前述した初期状態節を参照)。
  RECURSIVE句は、プログラムが再帰的であることを指定する。
RECURSIVE句は、プログラムが再帰的であることを指定する。
  再帰プログラムに含まれるプログラムはいずれも再帰的である。
再帰プログラムに含まれるプログラムはいずれも再帰的である。
  局所記憶節の指定を含むプログラムは再帰的である。
局所記憶節の指定を含むプログラムは再帰的である。
再帰的プログラムは、実行中に呼び出すことができる。また、自身を呼び出すこともできる。
 プログラム中でRECURSIVE句が指定されておらず、プログラムに対して暗黙的に指定されてもない場合は、そのプログラムを実行中に呼び出すことはできない。
プログラム中でRECURSIVE句が指定されておらず、プログラムに対して暗黙的に指定されてもない場合は、そのプログラムを実行中に呼び出すことはできない。
  共通、初期、および再帰プログラムに関する詳しい規則は、翻訳集団の概念の章の共通プログラム、初期プログラム、および再帰プログラム節で解説する。
共通、初期、および再帰プログラムに関する詳しい規則は、翻訳集団の概念の章の共通プログラム、初期プログラム、および再帰プログラム節で解説する。 Program-name-1は、呼び出しプロトタイプの名を示す。このプロトタイプを使用して、構文のチェックが行われ、CALL定数文の有効性と性質が決定される。
Program-name-1は、呼び出しプロトタイプの名を示す。このプロトタイプを使用して、構文のチェックが行われ、CALL定数文の有効性と性質が決定される。