Microsoft COBOL V1.0およびV2.0の構文支援機能

ここでは、IBM 1.0の構文およびMicrosoft V2.0の構文との互換性をとる目的で、このCOBOLシステムが受け入れるMicrosoftの構文を列挙する。Microsoft COBOLの機能の多くは、既にこのCOBOLシステムに組み入れられている。これらは、言語リファレンスの本文に記載してある。 この付録に列挙する互換性をもたせるための構文の中には、標準COBOL構文と全く同じであるが、原始コードをコンパイルするときにMSシステム指令を設定すると、違った動作をするものがある。他のMicrosoftの構文は、このMS指令を設定した場合にだけ、利用できる。Microsoftの構文の詳細については、IBM COBOL 1.0マニュアル、およびMicrosoft COBOL V2.0マニュアルを参照。ここでは、IBM COBOL V1.0を対象とする。Microsoft V2.0 の拡張構文に触れるときは、その旨を明記してある。

特殊レジスタのLINとCOL

LIN と はそれぞれ、画面上の現在のカーソルの行位置と文字位置を示すために使用する。この2つは、ACCEPT文、DISPLAY文、EXHIBIT文でサポートされている位置指定の一部を構成する。これらの文については、この章の中で後述する。この2つのレジスタをプログラムに含めるためには、原始コードをコンパイルするときに、MSシステム指令を設定しなければならない。

LINとCOLの形式は、共にPIC S9(4) COMPである。この2つの特殊レジスタは、通常のデータ項目と同じように使用できる。ただし、これらを自分で定義してはならない。これらはシステムによって自動的に定義される。位置指定の中で使用するのに先立って、この2つのレジスタの値を適切に設定しなければならない。

MS指令を設定したときは、COLUMNの省略形としてのCOLは、COBOLの予約語としては使用できなくなるので注意すること。

環境部

特殊名段落

下記の2つの句がサポートされている。

nは0から8の範囲の整数である。省略時解釈の設定は、OFFである。

データ部

USAGE句

一般形式

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

構文規則

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

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

一般規則

  1. 原始コードをコンパイルするときにMSシステム指令を設定すると、USAGE IS COMPUTATIONALはUSAGE IS DISPLAYと同じ意味となる。

  2. USAGE IS COMP-0は、数字データ項目に対してだけ適用できる。該当する項目のPICTUREにS9(5)を超えないものを指定すると、その項目に PIC S9(4) USAGE COMP(つまり、2バイトの符号つき2進数)を指定したことになる。これ以外の場合は、この指定の働きは、実際に指定されたPICTURE句にUSAGE DISPLAYを付加することである。

手続き部

位置指定

位置指定は、この付録に記述するACCEPT文、DISPLAY文、EXHIBIT文における、画面位置を指定するものである。この指定を行う場合は、原始コードをコンパイルするときに、MSシステム指令を設定しなければならない。

一般形式

構文規則

  1. 上記の書き方中のコンマは、必須である。

ACCEPT文

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

一般形式

一般規則

  1. 原始コードをコンパイルするときにMSシステム指令を設定すると、ACCEPT文は集団項目を基本項目として扱う。つまり、ACCEPT文は対象項目を1つのものとして受け取るのであり、その下位に属する基本項目に分けては取り扱わない。

  2. 原始コードをコンパイルに投入するときにMSシステム指令を設定すると、最初の作用対象が現れるべき画面上の位置の指定を省いた場合、省略時解釈として現在のカーソルの位置が採られる。

  3. 言語リファレンスプログラムの定義の章中のACCEPT文の節に記載した書き方2にも、上記の規則1と2は当てはまる。

  4. WITH指定のオプションと 同義語を下に示す。

    AUTO/AUTO-SKIP
    BACKGROUND-COLOR
    BELL/BEEP
    BLINK
    REVERSE-VIDEO
    RIGHT-JUSTIFY
    SECURE/NO-ECHO
    SIZE
    SPACE-FILL
    TRAILING-SIGN
    UNDERLINE
    UPDATE
    ZERO-FILL

    これらのオプションは、言語リファレンスプログラムの定義の章中の ACCEPT ACCEPT文の節に記載した書き方2にも当てはまる。

    標準COBOLとは異なるオプションを以下に説明する。

    1. UPDATE: 原始コードをコンパイルするときにMS指令を設定すると、UPDATEオプションを指定しなかった場合、入力用のデータ項目は最初は空白で表示される。(MS指令を設定しないと、データを最初どう表示するかは構成オプションとなる)。

      UPDATEオプションを指定した場合は、入力用のデータ項目は最初に表示される。

    2. PROMPT: 原始コードをコンパイルするときにMS指令を設定すると、このオプションを、プロンプト文字を表示させるために指定しなくてもよい。

    3. LENGTH-CHECK: このオプションを指定すると、 EMPTY-CHECKオプションが暗黙のうちに設定される。したがって、操作員は何かを入力しなければならない。このオプションを指定した場合、原始コードをコンパイルするときにMS指令を設定しなければならない。

    4. FOREGROUND-COLOR : これらの句中の整数-1は、それぞれ、画面項目の前景色 と背景色を指定するものである。この値は0から15であり、下記のように定義されている。

      0 黒(black) 8 灰色(grey)
      1 青(blue) 9 淡青色(light blue)
      2 緑(green) 10 淡緑色(light green)
      3 藍(cyan) 11 淡藍色(light cyan)
      4 赤(red) 12 淡赤色(light red)
      5 赤紫(magenta) 13 淡紫色(light magenta)
      6 茶(brown) 14 黄色(yellow)
      7 白(white) 15 高輝度の白(high intensity white)

      カラー画面上で、前景色に値8から15の整数を指定することは、値0から7の整数と HIGHLIGHTを指定することに相当する。白黒画面上では、このことは単にHIGHLIGHTを指定することに相当する。

      カラー画面上で、背景色に値8から15の整数を指定することは、値0から7の整数とBLINKを指定することに相当する。白黒画面上では、このことは単に BLINKを指定することに相当する。

DISPLAY文

一般形式

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

一般規則

  1. 原始コードをコンパイルするときにMSシステム指令を設定すると、DISPLAY文は集団項目を基本項目として扱う。つまり、DISPLAY文は対象項目を1つのものとして表示するのであり、その下位に属する基本項目に分けては取り扱わない。

  2. 原始コードをコンパイルするときにMSシステム指令を設定すると、最初の作用対象が現れる画面上の位置の指定を省いた場合、省略時解釈として現在のカーソルの位置が採られる。

  3. 言語リファレンスプログラムの定義の章中のDISPLAY文の節に記載した書き方2にも、上記の規則1と2は当てはまる。

  4. ERASEを指定すると、画面上の現在のカーソルの位置から先が消去される。

以下の2つの規則は、言語リファレンスプログラムの定義の章中のDISPLAY文の書き方2への追加事項である。

  1. WITH指定のオプションと同義語を下に示す。

    BACKGROUND-COLOR
    BELL/BEEP
    BLANK
    BLINK
    FOREGROUND-COLOR
    HIGHLIGHT
    REVERSE-VIDEO
    SIZE
    UNDERLINE

  2. FOREGROUND-COLORとBACKGROUND-COLOR: これらの句中の整数-1は、それぞれ、画面項目の前景色と背景色を指定する。この値は0から15であり、下記のように定義されている。

    0 黒(black) 8 灰色(grey)
    1 青(blue) 9 淡青色(light blue)
    2 緑(green) 10 淡緑色(light green)
    3 藍(cyan) 11 淡藍色(light cyan)
    4 赤(red) 12 淡赤色(light red)
    5 赤紫(magenta) 13 淡紫色(light magenta)
    6 茶(brown) 14 黄色(yellow)
    7 白(white) 15 高輝度の白(high intensity white)

    カラー画面上で、 前景色に値8から15の整数を指定することは、値0から7の整数と HIGHLIGHTを指定することに相当する。白黒画面上では、このことは単に HIGHLIGHTを指定することに相当する。

    カラー画面上で、 背景色に値8から15の整数を指定することは、値0から7の整数と BLINKを指定することに相当する。白黒画面上では、このことは単に BLINKを指定することに相当する。

EXHIBIT文

CHANGEDもNAMEDも指定しないで EXHIBIT文を使用すると、 NAMEDを指定したように動作する。

一般形式

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

構文規則

  1. 呼び名は、sysout, syslist, syslst, syspunch, syspch、操作卓、プリンタに関連するものとする。

一般規則

  1. ERASEを指定すると、画面上の現在のカーソルの位置から先が消去される。

Microsoft V2.0 追加構文支援機能

レコードのロック

 MS指令を設定すると、 SELECT文中でLOCKING句が使用できるようになる。

一般形式

一般規則

  1. 順ファイルと行順ファイルに関しては、 EXCLUSIVE(排他的なロック)だけが許される。

  2. MANUALを指定すると、対象ファイルに複数のロックを適用できる。

  3. AUTOMATICを指定すると、現在レコードに単一のロックが自動的に適用される。

  4. 順ファイルと行順ファイルに関する省略時解釈のロック方式は、EXCLUSIVEである。

  5. 相対ファイルと索引ファイルに関する省略時解釈のロック方式は、AUTOMATICである。

  6. MANUALを指定すると、UNLOCK文によってすべてのロックが解除される。

OPEN LOCKING文

MS指令を設定すると、 OPEN文中でLOCKING句が使えるようになる。

一般形式

一般規則

  1. 順ファイルと行順ファイルに関しては、EXCLUSIVEロックだけが許される。

  2. NO LOCKING指定をすると、暗黙的にEXCLUSIVEと想定される。

READ文(マニュアルモード)

一般形式

一般規則

  1. MS指令を設定すると、READ文中でWAIT句が使えるようになる。これは注記として扱われる。

START文

一般形式

一般規則

  1. MS指令を設定すると、START文中でLOCK句およびWAIT句が使えるようになる。これは注記として扱われる。