非言語環境プログラム COBOL 式の構文

ここで定義されている構文を使用して、非言語環境プログラム COBOL プログラム のデバッグ時の Debug Tool コマンドの式を記述します。

一般的には、非言語環境プログラム COBOL 式をコマンドの一部として (例えば、LIST コマンド、代入コマンド、または IF コマンドのオペランドとして) 入力する場合は常に、非言語環境プログラム COBOL 式はアポストロフィ (') で囲む必要があります。以下に、アポストロフィの適切な使用例を示します。

LIST 'A-B IN C';
'A' = 'B';
IF 'A = 22' THEN...

アセンブラー構文を使用する非言語環境プログラム COBOL プログラムのデバッグに使用できる、いくつかの Debug Tool コマンドがあります。 これらのコマンドを個々に説明している節に、このコマンドの効果に関する注記があります。 例えば、非言語環境プログラム COBOL プログラムのデバッグ時に、以下のコマンドを使用することができます。

STORAGE(X"1B4C0",3) = X"0102FC";

非言語環境プログラム COBOL 式の制限

非言語環境プログラム COBOL 式をアポストロフィ (') で囲むという要件に加えて、以下の制限が非言語環境プログラム COBOL 式に適用されます。

共通構文エレメント

以下の構文要素を使用して、非言語環境プログラム COBOL 式を記述することができます。

ddd または ddd.ddd
10 進定数。ddd は有効な 10 進数。例えば、145 または 12.72。
X"xxxxx"
16 進定数。xxxx は有効な 16 進の数字。 例えば、次のようになります。
X"1F4C"
"cccc"
非数値リテラル。 例えば、次のようになります。
"F$3"
symbol
非言語環境プログラム COBOL ソース・プログラムで使用される有効なシンボル。例:
LASTNAME
USERVAR8
12CENTS

Debug Tool は、すべてのメイン・メモリーを表すシンボルとして、暗黙的に _STORAGE シンボルをすべての非言語環境プログラム COBOL プログラムの中で定義します。すべての式で使用できる演算子で定義されるサブストリング表記と一緒に _STORAGE シンボルを使用すると、 メモリーの任意の領域を参照できます。 例えば、_STORAGE(X"1FF3C"::4) はアドレス X"1FF3C" にある 4 バイトのストレージを参照します。 _STORAGE 記号で使用されるサブストリング表記で実アドレスを指定します。したがって、ストレージの最初のバイトを参照するには、サブストリング表記で 1 ではなく 0 を使用します。

%symbol
有効な Debug Tool 変数または組み込み関数。 例えば、次のようになります。
%ADDRESS
%HEX(expression)

演算子

ここで定義される演算子を使用して、非言語環境プログラム COBOL 式および条件付き非 言語環境プログラム COBOL 式を記述できます。

すべての式で使用できる演算子

ここで定義される演算子を使用して、非言語環境プログラム COBOL 式を記述します。

+
加算
-
減算または接頭部の除去
*
乗算
/
除算
//
余り
||
連結 (非算術計算オペランドのみ)
(...)
演算順序を制御するための括弧。配列の添え字を指定するか、またはサブストリングを選択します。
symbol(subscript,subscript,...)
配列の指標または添え字 (subscript) を指定する括弧。 添え字または指標の値の間にコンマが必要です。 ブランクだけは、許容されません。
symbol(substrstart:substrend)
文字変数から、開始サブストリング (substrstart) から終了サブストリング (substrend) までのバイトのサブストリングを選択する括弧。
symbol(substrstart::substrlen)
文字変数から、開始サブストリング (substrstart) から始まる、ストリング長が substrlen バイトのサブストリングを選択する括弧。
文字ストリングの配列の場合、symbol(subscript,substrstart:substrend) または symbol(subscript,substrstart::substrlen) を使用して、 これらの形式を組み合わせることができます。
LENGTH OF
シンボルの長さを返します。例えば、LENGTH OF ABC は、シンボル ABC の長さを返します。

条件式でのみ使用できる演算子

以下の演算子は、条件式 (例えば、IF コマンド) でのみ使用できます。

=
2 つのオペランドの同等性を比較する。
¬=
2 つのオペランドの不等性を比較する。
<
左方のオペランドが右方のオペランドより小さいか否かを判断する。
>
左方のオペランドが右方のオペランドより大きいか否かを判断する。
<=
左方のオペランドが右方のオペランドより小または等しいかどうかを判断する。
>=
左方のオペランドが右方のオペランドより大または等しいかどうかを判断する。
&
論理「and」演算
|
論理「or」演算