Ryan McFarland COBOL V2.0 構文支援機能

ここでは、Ryan McFarland COBOL V2.0との互換性をとる目的で、このCOBOLシステムが受け入れる構文を列挙する。Ryan McFarland COBOLの機能の多くは既にこのCOBOLシステムに組み入れられている。これらは、言語リファレンスの本文に記載してある。 ここに列挙する互換性をもたせるための構文の中には、標準COBOL構文と全く同じであるが、原始コードをコンパイルするときにRMシステム指令を設定すると、違った動作をするものがある。 Ryan McFarland 構文の詳細については、RM/COBOL Language Reference Manual バージョン 2.0 のマニュアルを参照。

環境部

ASSIGN句

一般形式

ASSIGN句では、下記の書き方がサポートされている。

一般規則

  1. 語INPUT, OUTPUT, INPUT-OUTPUT, PRINT, RANDOMは注記として扱われる。

ORGANIZATION句

一般形式

ORGANIZATION句では、下記の書き方がサポートされている。

一般規則

  1. この句は、ORGANIZATION IS SEQUENTIALと等しいものとみなされる。

    ただし、原始コードをコンパイルするときにRM"ANSI" 指令を指定すると、この句はORGANIZATION IS LINE SEQUENTIALと等しいものとして扱われる。

  2. ファイルに対してORGANIZATION句を指定しないと、ORGANIZATION IS LINE SEQUENTIALであるものと想定される。ただし、原始コードをコンパイルするときに、RMシステム指令を設定していることを前提とする。

    ただし、原始コードをコンパイルするときにRM"ANSI" 指令を指定すると、ORGANIZATION IS SEQUENTIALであるものと想定される。

データ部

VALUE OF LABEL句

一般形式

FD記述項に、下記の句が受け入れられる。

一般規則

  1. これは注記として扱われる。

文字定数の長さ

原始コードをコンパイルするときにRMシステム指令を設定すると、データ部内で2047文字までの長さの文字定数が許される。

省略時解釈の符号の表現

構文:

原始コードをコンパイルするときにRMシステム指令を設定すると、特殊名段落において、上記の句が指定されているものと想定される。 ただし、原始コードをコンパイルするときにRM"ANSI" 指令を指定すると、この句は指定されていないものとされる。

USAGE句

一般形式

下記の書き方のUSAGE句がサポートされている。

構文規則

  1. COMP と COMPUTATIONAL は同義語である。

  2. COMP-1 と COMPUTATIONAL-1 は同義語である。

  3. COMP-6 と COMPUTATIONAL-6 は同義語である。

一般規則

  1. 原始プログラム中でUSAGE COMP-1と定義された各データ項目に対して、COBOLシステムは2バイトの符号付き2進データ項目を割り当てる。このデータ項目は、-32Kから+32Kの範囲の値を保持できる。このデータ項目の割当ては、PICTURE文字列の値に左右されない。結果として、USAGE COMP-1データ項目は、標準COBOLでPIC S9(4) COMPと指定したのと同様に扱われる。

  2. COMP-6データ項目は、COBOL COMP形式に変換される。その結果として、各データ項目に割り当てられる大きさがRM/COBOLシステムの場合よりも小さくなると、空き部分に空(X"00") が埋められる。RM/COBOL でのUSAGE 句の詳細については、互換性ガイドを参照。

  3. USAGE IS COMPUTATIONALは、USAGE IS DISPLAYと同様に扱われる。

手続き部

CALLパラメータとしての定数

定数を、CALL文のパラメータに使用できる。

EXIT PROGRAM文

原始コードをコンパイルするときにRMシステム指令を設定すると、EXIT PROGRAM文は、終了させようとする副プログラムによって開かれていたすべてのファイルを閉じる。

ただし、RM"ANSI" 指令を指定すると、EXIT PROGRAM文はその処理を行わない。

境界検査

原始コードをコンパイルするときにRMシステム指令を設定すると、添字の境界は検査されない。

指標データ項目の大きさの割当て

原始コードをコンパイルするときにRMシステム指令を設定すると、指標データ項目には、通常の4バイトの代わりに2バイトが割り当てられる。

ACCEPT文

一般形式

下記の書き方の ACCEPT文がサポートされている。

構文規則

  1. 一意名-3、一意名-4、一意名-5を指定する場合、整数の一意名とする。定数-2、定数-3、定数-4を指定する場合、整数の定数とする。

  2. 定数-5は1文字とする。

一般規則

  1. この書き方は、言語リファレンスプログラムの定義の章のACCEPT文の書き方5と等しいものとして扱われる。ただし、作用対象は、複数指定できることに注意。

DISPLAY文

一般形式

下記の書き方のDISPLAY文がサポートされている。

構文規則

  1. 一意名-3、一意名-4、一意名-5を指定する場合、整数の一意名とする。 定数-2、定数-3、定数-4を指定する場合、整数の定数とする。

  2. 定数-5は1文字とする。

一般規則

  1. この書き方は、言語リファレンスプログラムの定義の章のDISPLAY文の書き方3と等しいものとして扱われる。

英数字データ項目に対する非標準操作

英数字の値を数字データ項目中に入れることができる。ただし、右側に桁寄せされ(受取り側項目が数字である場合と同じ)、左側に空白が埋められる。たとえば、"AB" をPIC 9(5)の項目へ転記すると、結果は"     AB"となる。

順ファイルに対するOPENとCLOSE

RM/COBOLでは、順ファイルに対する OPEN文と CLOSE文にNO REWINDを指定できる。標準COBOLでは、これらの文は注記にとどまる。

PERFORM文

通常のCOBOLシステムでは、スタックを使用してPERFORM文を処理している。これに対してRM/COBOLシステムでは、個々の手続き名に戻り番地を結び付ける。この結果、RM/COBOLシステムでは、PERFORM文のすべての終了点が、実際に使用されるまで有効となる。これに対して通常のCOBOLシステムでは、ある1時点では、実行範囲内に入っている最も内側のPERFORM文の終了点だけが有効である。

ただし、 PERFORM-TYPE"RM" 指令を設定すると、このCOBOLシステムはRM/COBOLと同じ方法でPERFORM文を処理するようになる。

手続き名

データ名と同じ名前の手続き名を使用できる。

行順ファイルに対するREWRITE

行順ファイルに対して REWRITE文を適用できる。ただし、新しいレコードの長さは、元のレコードの長さと同じであることを前提とする。

STOP RUN文

一般形式

下記の書き方のSTOP RUN文がサポートされている。

構文規則

  1. 一意名は、整数データ項目とする。

  2. 定数は、整数とする。

一般規則

  1. 整数データ項目または定数の値は、特殊レジスタのRETURN-CODEに入れられる。

ファイル入出力状態コード

原始コードをコンパイルするときに RMシステム指令を設定すると、COBOL入出力状態コードは、RMの同等のものと対応付けられる。

ロックされたレコード

原始コードをコンパイルするときにRMシステム指令を設定すると、レコードがロックされていることが判明した場合に、下記の処理が行われる。