表記
本書では、COBOL文の形式を表わすために、下記の表記法を使用する。
- 大文字で記し、下線を引いてある語(例:ABC)。その語が係わる機能を使用する際には、必ず指定しなければならない。これに該当する語を指定しないかまたはつづりを間違えるかすると、COBOLコンパイラによってエラーとされる。COBOL原始プログラムを書く際には、アンダーラインを引く必要はない。
- 大文字で記してあるが、下線を引いていない語(例:ABC)。COBOL原始プログラムを読みやすくするためだけに使用する。それらの語は指定しても指定しなくても構わない。ただし、指定する場合は、正しいつづりで書かなければならない。
- 日本語で記してある語(例:ファイル名)。プログラマが指定すべき名前を表わす。
- { } いくつかの項目を中かっこで囲んである場合。その中から1つを選択して指定しなければならない。中かっこで囲んである項目が1つしかない場合は、その項目を指定しなければならない。その場合、中かっこは繰り返しを表わす。
- {||} いくつかの項目を中かっこで囲み縦棒で区切ってある場合。その中から1つ以上を選択して指定しなければならない。ただし、1つの項目は1回だけしか指定することはできない。
- [ ]いくつかの項目を角かっこで囲んである場合。その中の項目は任意の選択項目であることを表わす。任意の選択項目は、必要に応じて、指定しても指定しなくても構わない。
- 項目が箱と角かっこで囲んである場合、
その項目はANSI'74 COBOL(American National Standards Institute publication X3.23-1974)
の必須項目であるが、言語仕様の機能拡張の結果、省略可能になったことを表わす。 端に示されている記号はCOBOLの方言を示す。 方言を使用するかしないかは自由である。
- 反復記号(...)。原始プログラムまたは一連の記述の一部を省略していることを表わす。どの部分が省略されているかは、文脈からわかる。
一般形式においては、反復記号が表わすのは、利用者が自分の判断で繰り返しを指定できる部分である。その範囲は次のように読み取る。
句または文の中に反復記号(...)が出てきたならば、その左側へ順にたどって最初に出てくる}または]を見つける。さらに左側へ順にたどって、}または]に論理的に対応する{または[を見つける。この一組の{
}または[ ]で囲まれた一連の語が反復の対象範囲となる。
- 一般形式で「整数」という語が使われている場合は、整数の数字定数を意味するものとする。また、その形式において明示的に許可されていないかぎり、符号付きの数字やゼロであってはならない。
- このリファレンス マニュアルでは、IBM SAA AD/Cycle COBOL370(COBOL/370) 文の構文およびCOBOL/370を使用してコンパイルする原始プログラムを書く際の規則についても、
説明する。
COBOL/370とIBM VS COBOL IIとの違いは、手続きポインター形式に関して、 省略時解釈の長さが4バイトではなく8バイトであることである。
- このリファレンス マニュアルでは、マルチベンダー統合体系(MIA) の構文も示す。このMIAはCOBOLプログラミング言語の技術的な必要条件となっている。
- 大部分のCOBOL言語には、ANSI X3.23-1974に定義されているCOBOL言語を拡張した 機能が組み込まれている。組み込まれている拡張機能の度合はコンパイラによって違いがある。
つまり、COBOLには「方言」と呼ばれる異なったバージョンがいくつもある。 Micro Focus COBOL製品は、コンパイラをまたがって開発作業を進められるように設計してある。
つまり、この製品は、利用者が使用しているCOBOLシステムだけではなく、 IBM OS/VS COBOLやIBM VS COBOL IIあるいはANS
X3.23-1974ないしその更新版である ANS X3.23-1985でプログラムを開発するために使用することができる。 この製品では、ANS
X3.23-1985のすべての機能はもちろんのこと、 IBMの2つのCOBOL製品の大部分の拡張機能をも、使用することができる。
方言を使用している利用者の便宜を図るために、このマニュアルでは、 機能ごとに方言があれば明示している。 ANS X3.23-1974 を超える機能に関する記述は四角で囲んで、
端に下記の楕円形の記号を付している。セクション全体が別の方言である場合は、セクションの見出しの後に記号のみの行がある。別の方言の一部である語句は、そのようにマークが付けられ、それのみで
1 段落となっている。構文の表記では、ANS X3.23-1974 以外の機能は、線で囲まれ、その後またはその行末に記号が付けられている。
使用される記号は、以下のとおり。
 |
IBM OS/VS COBOL中の ANS X3.23-1974 に対する拡張機能を表わす。 |
 |
IBM VS COBOL II中の ANS X3.23-1985 に対する拡張機能を表わす。 |
 |
IBM SAA AD/Cycle COBOL/370中の ANS X3.23-1985 に対する拡張機能であって
IBM VS COBOL II には含まれない機能を表わす。
|
 |
IBM COBOL for OS/390 & V2R2でサポートされているが、IBM SAA AD/Cycle
COBOL/370ではサポートされていない、ANS X3.23-1985に対する拡張機能を表す。
|
 |
ANS X3.23-1985 で新たに定義された機能で ANS X3.23-1974 にはなかった機能を表わす。 |
 |
X/Open CAE仕様のCOBOL言語(XPG-4)に固有のANS X3.23-1985に対する拡張機能を表わす。 |
 |
Micro Focus COBOLに固有のANS X3.23-1985に対する拡張機能を表わす。 |
 |
ANS X3.23-1985ではサポートされていない、ISO/IEC 1989:2002で定義された機能を表す。 |
注:
- Micro Focus、 VS COBOL II、COBOL/370、OS/390、および X/Open 方言はすべて、ANS
X3.23-1985 COBOL 標準に基づく。したがって、ANS85 に有効と記されている構文(または規則)はどれも、とくに記述されていないかぎり、Micro
Focus、VS COBOL II、COBOL/370、OS/390、および X/Open にも有効である。
- COBOL/370 方言は、本書中で VSC2 の記号が付けられている VS COBOL II に含まれる構文をすべて含んでいる。本書で唯一
COB370 の記号が記載されているのは、COBOL370(NOCMPR2 コンパイラオプションを伴う)が、VS COBOL II(NOCMPR2
コンパイラオプションを伴う)とともに含まれるものテキスト以外を含む場合のみである。
これらの記号は、特定の構文および意味論のサポートを示す。特定の方言に関する予約語を変更するには、コンパイラの指令を使用する必要がある。本書の付録、予約語および、Compatibility
Guideには、さまざまな方言に影響される予約語の一覧がある。
たとえば、IBM OS/VS COBOL 上で使用するプログラムを開発している場合は、記号が付けられていない機能と、OSVS の記号が付けられている機能を使用できる。自分の
COBOL 環境専用に開発を行っている場合は、どの機能でも使用可能である。システムソフトウェアを起動するときに、 FLAG コンパイラ指令を発行すると、その
COBOL システムソフトウェアにより、指定された方言のもの以外のあらゆる機能にフラグが付けられる。また、FLAGAS コンパイラ指令を使用して、フラグのメッセージをエラー メッセージに変換することもできる。
- 方言により異なる効力を持つ機能もあり、方言制御指令を指定して、互換性を持たせる方言を選択することができる。このような機能は、二重線で囲まれている。
ANS X3.23-1985 以外の機能に必要なその他の予約語は、適切な方言制御指令が存在する場合にのみ予約されている。これにより、確実に、指定した方言での予約語のみが目的のシステムで予約されているようにすることができる。その他の予約語を必要とせず、その効果がすべての方言で同じである機能のみを使用する場合は、方言制御指令を指定する必要はない。
dialect-control指令にANS X3.23-1985方言を指定すると、ANS X3.23-1985内では使用できないいくつかのANS
X3.23-1974の機能に警告メッセージが付けられる。
- 本書中に「注記にとどまる」と記してある場合は、該当するコーディングが、文法的には COBOL コンパイラに受け入れられるが、実行用プログラムを生成する際には無視されることを意味する。
- 16進数は、小文字の x の後に引用符で囲んで示される(例:x"9D") 。