1.2.2 文字列(日本語機能)
文字列に日本語文字を使用できる。
- 〈この項の構成〉
(1) 利用者定義語
日本語文字を用いて,利用者が定義できる語には,次のものがある。
-
アドレス名(address-name)
-
符号系名(alphabet-name)
-
通信記述名(cd-name)
-
クラス名(class-name)
-
字類名(class-name)
-
翻訳変数名(compilation-variable-name)
-
構成要素ビュー名(component-view-name)
-
合成キー名(composite-key-name)
-
条件名(condition-name)
-
定数名(constant-name)
-
データ名(data-name)
-
ファイル名(file-name)
-
指標名(index-name)
-
インデクス名(index-name)
-
インタフェース名(interface-name)
-
メソッド名(method-name)
-
呼び名(mnemonic-name)
-
OLEメソッド(OLE method)※
-
OLEオブジェクト(OLE object)※
-
OLEプロパティ(OLE property)※
-
段落名(paragraph-name)
-
パス名(path-name)
-
プログラム名(program-name)
-
プロパティ名(property-name)
-
レコード名(record-name)
-
レコードビュー名(record-view-name)
-
報告書名(report-name)
-
手順名(routine-name)
-
画面名(screen-name)
-
節名(section-name)
-
親子集合ビュー名(set-view-name)
-
記号文字(symbolic-character)
-
型名(type-name)
-
利用者定義関数名(user-function-name)
- 注※
-
UNIX COBOL2002では,使用できない。
日本語文字集合の英文字,数字,特殊文字は英数字文字集合の対応する英文字,数字,特殊文字と等価とみなされる。
-UniObjGenオプションを指定した場合,プログラム名およびメソッド名にUTF-8で多バイトとなる文字が含まれてはならない。また,-UniObjGenオプションの指定が前提であるLinux COBOL2002では,プログラム名,クラス名,インタフェース名,利用者定義関数名,メソッド名,およびプロパティ名にUTF-8で多バイトとなる文字が含まれてはならない。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。
(2) 定数
(a) 日本語文字定数
日本語文字定数は次に示す形式で表された1文字以上160文字以下の文字列である。
日本語文字定数の長さは,実行用プログラム中のその表現に適用される。
- 形式
- 構文規則
-
-
文字1は日本語文字集合の任意の文字とする。
-
文字1が引用符を表すならば,引用符の1文字を表すのに連続する2字の日本語文字集合の引用符を用いなければならない。
-
- 一般規則
-
-
実行用プログラム中の日本語文字定数の値は,文字1によって表される値とする。
-
日本語文字定数の項類は,日本語となる。
-
日本語文字定数を囲む分離符の引用符は,日本語文字定数の一部ではない。
-
(b) 16進日本語文字定数
16進日本語文字定数は,次に示す形式で表された長さが1文字以上160文字以下で4の倍数の文字列である。
- 形式
- 構文規則
-
-
文字1は16進数字の'0'〜'9','A'〜'F'の16種類である。
-
長さは160文字までで,4の倍数でなければならない。
-
NXをVALUE句に指定する場合,文字1はPICTURE句で指定したサイズを超えてはならない。
-
- 一般規則
-
-
実行用プログラム中の16進日本語文字定数の値は,文字1によって表される値とする。
-
すべての16進日本語文字定数の項類は,日本語となる。
-
16進日本語文字定数を囲む分離符の引用符は,16進日本語文字定数の一部ではない。
-
-UniObjGenオプションを指定した場合,UTF-16のコード値はバイトオーダがリトルエンディアンであってもUTF-16BEで指定する。なお,UTF-16BEで指定した16進日本語文字定数のコード値は,-UniEndianオプションの指定に従い,UTF-16LE,またはUTF-16BEに変換される。-UniObjGenオプション,-UniEndianオプション,およびUnicode機能のバイトオーダの指定方法については,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。
-
(c) 表意定数
次に示す表意定数を用いることができる。
予約語 |
値 |
---|---|
[ALL] ZERO [ALL] ZEROS [ALL] ZEROES |
数値ゼロ(0),または日本語文字集合の何文字かの文字ゼロ(0)を表す。 -UniObjGenオプションを指定した場合,UTF-16のFULLWIDTH DIGIT ZERO(X'FF10')を表す。 |
[ALL] SPACE [ALL] SPACES |
日本語文字集合の何文字かの空白を表す。 -UniObjGenオプションを指定した場合,UTF-16のIDEOGRAPHIC SPACE(X'3000')を表す。 |
[ALL] HIGH-VALUE [ALL] HIGH-VALUES |
特殊名段落の中で使用される場合を除いて,その計算機の文字の照合順序で最高の位置を占める日本語文字集合の文字の何文字かを表す。 |
[ALL] LOW-VALUE [ALL] LOW-VALUES |
特殊名段落の中で使用される場合を除いて,その計算機の文字の照合順序で最低の位置を占める日本語文字集合の文字の何文字かを表す。 |