付録C STANDARDオプションと-StdVersionオプションを指定した場合の仕様の相違
ここでは,VOS3 COBOL85でSTANDARD=(1)またはSTANDARD=(2)オプションを指定した場合と,COBOL2002で-StdVersion,1または-StdVersion,2オプションを指定した場合の仕様の相違点について説明する。
なお,-StdVersionオプションについては,マニュアル「COBOL2002 ユーザーズガイド」または「COBOL2002 使用の手引 手引編」を参照のこと。
項番 |
差異の生じる言語仕様 |
VOS3 COBOL85 |
COBOL2002 |
||
---|---|---|---|---|---|
STANDARD=(1)指定時 |
STANDARD=(2)指定時 |
-StdVersion,1指定時 |
-StdVersion,2指定時 |
||
1 |
CURRENCY SIGN句で指定する定数 |
L,=,/を指定できる。 |
L,=,/を指定できない。 |
=,/が指定できる。 |
=,/が指定できない。 |
2 |
SELECT OPTIONAL句 |
覚え書きとする。 |
覚え書きとしない。 |
VOS3 COBOL85と同じ。 |
|
3 |
RESERVE句 |
コンパイラが自動的に割り当てる一つの入出力領域に加えて,RESERVE句で指定した個数の入出力領域を確保する。 なお,RESERVE句に補助語ALTERNATEが書かれていると,STANDARDの指定にかかわらずSTANDARD=(1)の仕様が使用される。 |
RESERVE句で指定した個数の入出力領域を確保する。 |
覚え書きとする。 |
|
4 |
比較条件の略記法におけるNOT |
略記法の条件中のNOTが,比較演算子一部とも論理演算子とも取れる場合は,論理演算子とみなす。 |
NOTの直後にGREATER,>,LESS,<,EQUAL,=,>=,<=のどれかが続くとき,NOTは比較条件の一部となる。これ以外のNOTは論理演算子とみなす。 |
VOS3 COBOL85と同じ。 |
|
5 |
MOVE文の位取り |
送り側が位取りした整数項目(PICTURE句の右端文字がPのとき)受け取り側が英数字項目または英数字編集項目であれば,あとに続くゼロは切り捨て空白とする。 |
左記の場合,あとに続くゼロを切り捨てない。 |
VOS3 COBOL85と同じ。 |
|
6 |
UNSTRING文のDELIMITED BY ALL指定 |
二つ以上の連続する区切り文字が出現した場合,区切り文字の受け取り領域に入るだけ,区切り文字を移す。 |
二つ以上の連続する区切り文字が出現した場合,区切り文字の受け取り領域には1個(1組)の区切り文字しか移さない。 |
VOS3 COBOL85と同じ。 |
|
7 |
COPY文の展開 |
第1次規格の仕様に従った書き方は,旧仕様書として展開する。 第1次規格の仕様に従っていない書き方は,第2次規格の仕様に従ったCOPY文とみなし展開する。 |
第2次規格以降の仕様に従ってCOPY文を展開する。 |
VOS3 COBOL85と同じ。 |
|
8 |
独立区分中のPERFORM文で固定区分中の手続きを呼び出したときの扱い |
手続きを出て,呼び出し元に戻ると,独立区分は再度初期設定される。 |
手続きを出て,呼び出し元に戻ると,独立区分は呼び出し時と同じである。 |
COBOL2002では,VOS3 COBOL85の区分化機能は未サポートである。 |
|
9 |
JUST句の処理 |
JUST句の指定がある英数字,英字,英数字編集にVALUE句で初期値を与えるとき,JUST句の機能を働かせる。 |
左記の場合,JUST句の機能を働かせない。 |
VOS3 COBOL85と同じ。 |
|
10 |
WRITE文のADVANCING句の仮定 |
一つのファイルに対する複数個のWRITE文でADVANCING句があるものとないものを混用した場合,ADVANCING句のないものに対してBEFORE ADVANCING 1かAFTER ADVANCING 1のどちらかを仮定する。 ADVANCING句指定のあるWRITE文の指定がすべてBEFOREのときBEFORE ADVANCING 1,すべてAFTERのときAFTER ADVANCING 1,BEFOREとAFTER混在のときBEFORE ADVANCING 1を仮定する。 |
左記の場合,常にAFTER ADVANCING 1を仮定する。 |
VOS3 COBOL85と同じ。 |
|
11 |
EVALUATE文のALSOの指定 |
選択主体,または選択対象を複数記述する場合は,それぞれを空白で区切って指定する(VOS3 COBOL85では,選択主体,または選択対象を複数記述する場合,ALSO指定で区切ってもよい)。 |
選択主体,および選択対象を複数記述する場合,ALSO指定は必須である。 |
||
12 |
PERFORM文のVARYING…AFTER指定(一つのPERFORM文での2〜3重ループ)がある場合の反復制御変数の制御方法 |
反復制御変数の初期化を行う位置を次のようにする。
|
VOS3 COBOL85と同じ。 |
||
13 |
END−動詞の記述 |
四則演算,入出力などの文が条件文となっているときだけEND−動詞を記述できる。条件文と文の対応を次に示す。
|
左記に示した文が無条件のときでもEND−動詞を記述できる。 |
||
14 |
SEARCH文での部分参照の指定 |
第3次規格でのサポートであり,部分参照は指定できない。 |
制限のない個所に部分参照を指定できる。 |