表意定数の値およびそれらを参照するために使用する予約語を以下に示す。
定数 | 説明 |
---|---|
ZERO、ZEROS、ZEROES | 値「0」を表わす。文脈によっては 1 つ以上の「0」文字を表わす。 |
SPACE、SPACES | 計算機の文字集合の 1 つ以上の空白文字を表わす。 |
HIGH-VALUE、HIGH-VALUES | プログラムの文字照合順序の最も高い文字を 1 つ以上表わす。(拡張 ASCII 文字集合では x"FF") |
LOW-VALUE、LOW-VALUES | プログラムの文字照合順序の最も低い文字を 1 つ以上表わす。(拡張 ASCII 文字集合では x"00") |
QUOTE、QUOTES | 1 つ以上の「"」文字を表わす。ソース プログラムでは、数字定数を囲むための引用符の代りに QUOTE または QOUTES を使用することはできない。したがって、「ABD」を表わすために、QUOTE ABD QUOTEと記すのは誤りである。 |
ALL 定数 | 定数内の文字列に何文字含まれているかを表わす。定数は文字定数、
ALL 定数以外の表意定数のいずれかになる。
|
NULL、NULLS |
1 つ以上の未設定ポインター
を表わす。USAGE POINTER
を持つデータ項目、および値が NULL であるデータ項目は、どのデータ項目
のアドレスも表さないことが保証される。 NULL 値は環境によって異なり、通常は各環境用の COBOL 以外の言語で使用される等しい値と一致する。 |
表意定数が 1 つ以上の文字を含む文字列を表わす場合、その長さは文脈に応じて COBOL システムが決定する。その際、以下の規則が順に適用される。
書き方 3 の DISPLAY 文における表意定数の使用は、DISPLAY 文の一般規則で説明するとおり、特別な効果を持つ。
書き方に定数が示されている箇所では、任意の場所で表意定数を使用できる。ただし定数が数字定数に限定されている箇所では、表意定数は ZERO (ZEROS、ZEROES) のみ使用できる。
表意定数の HIGH-VALUE(S) または LOW-VALUE(S) を使用する場合、各表意定数に関連付けられる実際の文字は、指定されているプログラムの文字照合順序によって決まる (「実行用計算機段落」および「実行用計算機段落」トピックを参照)。
表意定数を表わす予約語は、それぞれが独立した文字列である。ただし、「ALL 定数」は例外で、2 つの別々の文字列から構成される。
QUOTE/QUOTES 表意定数の値は、APOST および QUOTE 指令の影響を受ける。
「ALL 定数」表意定数を数字項目または数字編集項目に関係付け、定数の長さを複数桁にすることは、ANSI'85 標準では廃要素として分類されているが、これは ANSI 標準の次の全面改訂時に削除される予定である。
この COBOL 処理系に組み込まれている方言は、廃要素の ALL 定数構文が完全にサポートされている。FLAGSTD 指令を使用すると、この構文が使われている箇所をすべて検出できる。
廃要素の ALL 定数構文は標準 COBOL 定義の一部であるが、X/Open の COBOL 言語定義からは明示的に除外されている。したがって、X/Open COBOL 準拠のソース プログラム内では、この構文は使用できない。