COBOL2002 言語 拡張仕様編
-V3Rec,Fixed,-V3Rec,Variableは,利用者がメインフレーム(VOS3)からファイル転送された,メインフレームでの固定長レコード形式または可変長レコード形式のCOBOL原始プログラムを,メインフレームの日本語の扱いに合わせて翻訳することを可能とするためにサポートした機能である。すなわち,この機能を用いると,日本語混在のCOBOL原始プログラムを,機能キャラクタが付加されたものとみなした,原始プログラムの領域の意識および語の構成規則のエラーチェックを行って翻訳することができる。また,このシステムでの標準コードと拡張コードの等価規則を無効とした形での翻訳を可能とする。
ここでは,日本語混在のCOBOL原始プログラムを,メインフレームの日本語の扱いに合わせて翻訳する上で,標準仕様と異なる言語仕様について述べる。
日本語文字を用いる場合,日本語文字列の直前と直後に,メインフレームでの「KEISコード開始」と「EBCDIKコード開始」を表す2バイトの機能キャラクタ(シフトコード)が,それぞれ付加されたものとみなす。ここでは,以降,これらの機能キャラクタをそれぞれ,[漢]と[E]で表す。
-V3Recオプションの指定が有効な場合,このシステムで[漢],[E]が仮定される条件を次に示す。
このシステムは,空白に関する機能キャラクタの扱いで,メインフレームと以下の差異がある。
空白に関する機能キャラクタの扱いをメインフレームと同等にしたい場合,-V3Recオプションと合わせて-V3RecFCSpaceオプションを指定する。-V3RecFCSpaceオプションについては,マニュアル「COBOL2002 ユーザーズガイド」の-V3RecFCSpaceオプションを参照のこと。
01 得意先. 02 データ PIC N(2) VALUE N'日立'. 02 空白 PIC N(2) VALUE N'▲▲'.
01 [漢]得意先[E]. 02 [漢]データ [E]PIC N(2) VALUE N'[漢]日立[E]'. 02 [漢]空白 [E]PIC N(2) VALUE N'▲▲'.
01 [漢]得意先[E]. 02 [漢]データ [E]PIC N(2) VALUE N'[漢]日立[E]'. 02 [漢]空白 [E]PIC N(2) VALUE N'[漢]▲▲[E]'.
なお,UNIX COBOL2002では,-V3RecFCSpace オプションを使用できない。
利用者定義語,定数および注釈に日本語文字を使用できる。
COBOLの語とは,31字以下の文字列であって,利用者定義語,システム名,予約語および関数名のどれかとする。
この機能では,標準コードの文字に換算して31字以下の文字列とする。
各英小文字は,その対応する英大文字に等価とみなす。ただし,空白を除く,拡張コードの各文字は,その対応する標準コードの各文字に等価とはみなさない。
拡張コードの空白は,標準コードの2字の空白と等価とみなす。
72カラム以前に改行文字がある場合,改行文字から72カラムに空白を仮定する。
原始プログラムは英数字文字を1文字(1バイト)単位,日本語文字を2バイト単位として80文字で構成される行中に記述する。
メインフレームの固定長レコード形式によって翻訳する場合,日本語文字定数など前後に付ける機能キャラクタは,プログラム原文領域(8カラムから72カラム)中になければならない。
メインフレームの可変長レコード形式によって翻訳する場合,日本語文字列の前後に付ける機能キャラクタを除くと,原始文記述はプログラム原文領域中に納まっていなければならない。
日本語文字は,複数行にわたって定義できる。この場合,継続行はプログラム原文領域(8カラムから72カラム)で指定しなければならない。ただし,日本語文字の継続に関しては,機能キャラクタの扱いがメインフレームと異なるため,メインフレームとの完全な互換性はない。
この機能では,原始文操作機能であるCOPY文のREPLACING指定およびREPLACE文によって語の置き換えがあり,置き換えられることによって,本来境界Rまでに納まっていた原文語が機能キャラクタを含めた形で論理的に境界Rを超える場合でも,見かけ上の境界Rまでに納まる場合は,そのまま置かれる。同様にCOPY文のPREFIXING/SUFFIXING指定によって語が付加された結果として,機能キャラクタを含めて,論理的に境界Rを超える場合でも,見かけ上の境界Rまでに納まる場合は,そのまま置かれる。また,日本語文字の置き換えが発生するCOPY文およびREPLACE文に関しては,機能キャラクタの扱いがメインフレームと異なるため,メインフレームとの完全な互換性はない。
また,COPY文のPREFIXING/SUFFIXING指定で指定する語1および語2に日本語文字を含めてはならない。
All Rights Reserved. Copyright (C) 2003, 2013, Hitachi, Ltd.