COBOL2002 ユーザーズガイド
ここでは,COBOLソースファイルの拡張子と正書法の関係,およびSOURCE FORMAT指令を使った正書法の切り替え方法について説明します。
正書法およびSOURCE FORMAT指令の文法規則については,マニュアル「COBOL2002 言語 標準仕様編 2. 正書法(Reference format)」および「COBOL2002 言語 標準仕様編 3.3.14 SOURCE FORMAT指令」を参照してください。
正書法は,COBOL原始プログラムや登録集原文を記述するための規約です。COBOLには,自由形式正書法と固定形式正書法の二つの正書法があります。それぞれの正書法の特徴を,次に示します。
また,SOURCE FORMAT指令を使用すると,2種類の正書法を原始プログラムや登録集原文の途中で切り替えることができます。
なお,正書法の言語仕様についてはマニュアル「COBOL2002 言語 標準仕様編 2. 正書法(Reference format)」を,SOURCE FORMAT指令の言語仕様についてはマニュアル「COBOL2002 言語 標準仕様編 3.3.14 SOURCE FORMAT指令」を,それぞれ参照してください。
COBOL2002のコンパイラは,拡張子によってCOBOLソースファイルの種類が固定形式正書法か,自由形式正書法かを区別します。
また,上記以外の拡張子が付いたファイルであっても,環境変数CBLFIXまたはCBLFREEに設定しておくことで,それぞれ固定形式正書法,自由形式正書法で書かれたCOBOL原始プログラムとしてコンパイルできます。
環境変数CBLFIXまたはCBLFREEを使用して,COBOL原始プログラムの拡張子を指定する方法については,「35.6 コンパイラ環境変数」を参照してください。
SOURCE FORMAT指令を使用すると,原始プログラムの正書法を切り替えられます。原始プログラムの先頭にSOURCE FORMAT指令を記述すると,原始プログラム全体の正書法を変更できます
また,原始プログラムの途中でSOURCE FORMAT指令を記述すると,SOURCE FORMAT指令の次の行から正書法を変更できます。
次に,SOURCE FORMAT指令の使用例を示します。
固定形式正書法のCOBOLソースファイルに自由形式正書法を適用する場合
000100 >>SOURCE FORMAT IS FREE …1. IDENTIFICATION DIVISION. …2. PROGRAM-ID. FIX-FORM-EXAMPLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 A-LONG-ITEM PIC X(100) VALUE 'THE FIRST PART CONTINUED'- ' ON THE NEXT LINE - SIMPLE ENOUGH'. 01 NUM-ITEM PIC 9(10). PROCEDURE DIVISION. A-PARAGRAPH-NAME. :
自由形式正書法のCOBOLソースファイルに固定形式正書法を適用する場合
>>SOURCE FORMAT IS FIXED …1. 000010 IDENTIFICATION DIVISION. …2. 000020 PROGRAM-ID. FIX-FORM-EXAMPLE. 000030 DATA DIVISION. 000040 WORKING-STORAGE SECTION. 000050 01 A-LONG-ITEM PIC X(100) VALUE 'THE FIRST PART CONTINUED 000060- ' ON THE NEXT LINE - SIMPLE ENOUGH'. 000070 01 NUM-ITEM PIC 9(10). :
次のオプションは,自由形式正書法で書かれたCOBOL原始プログラムとしてコンパイルされるプログラムには,指定できません。指定してコンパイルした場合,エラーとなってコンパイルが中止されます。
表35-1 自由形式正書法で指定できないコンパイラオプション
オプション名 | 機能 |
---|---|
-StdVersion | 第1次規格/第2次規格の解釈でコンパイルする |
-V3Rec | メインフレーム(VOS3)の固定長または可変長レコード形式のプログラムを,VOS3の日本語文字の扱いに合わせてコンパイルする |
-CompatiV3 | VOS3 COBOL85互換を指定する |
-StdMIA | MIA仕様の範囲外チェックをする |
-Std85 | JIS仕様でチェックする |
なお,固定形式正書法で書かれたソースの途中に「>>SOURCE FORMAT IS FREE」が指定されている場合も,これらのコンパイラオプションを指定するとエラーとなります。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.