Evaluate

使用法

式の結果の値を評価して出力します。

コマンド構文

display mode
ASCII、BIT、FLOAT、HEX、INTEGER、または OCTAL のいずれか
expression
単純型および集合型 (配列要素、レコード要素、構造体要素など) の変数への参照を含む、ソース言語プログラムで使用される可能性がある任意の式を指定できます。

説明

EVALUATE コマンドは、ソース言語プログラムの式の値を評価して出力します。式を省略した場合は、前に評価された式が使用されます。前に評価された式がない場合は、エラー メッセージが生成されます。

単純な変数の値は LET コマンドを使用して変更できます。配列および配列スライスの評価もサポートされています。

表示モードは、式の値を出力するモードです。有効な表示モードは、Ascii、Bit、Float、Hex、Integer、および Octal です。表示モードの定義を次の表に示します。

表示
モードの定義
Ascii 値を一連の ASCII 文字として表示します。
Bit 値の各ビットを 1 または 0 として表示します。
Float 値を単精度浮動小数点数として表示します。
Hex 値を一連の 16 進数として表示します。
Integer 値を一連の符号付き 10 進数として表示します。
Octal 値を一連の符号なし 8 進数として表示します。
注: CodeWatch では、Widechar および Graphic の変数のみを評価できます。Widechar および Graphic の式の評価は現在サポートされていません。

WIDECHAR 変数の評価では、ASCII 範囲外の半バイトペアは「.」文字として表示されます。EVALUATE コマンドに /h オプションを指定すると、各バイトペアの 16 進値が表示されます。次に例を示します。

dcl wc wchar (8) init('003900370038'Wx);

…

eval /h wc

WC = 00 39 00 37 00 38 00 20 00 20 00 20 00 20 00 20 (hex)  {widechar (8)}

dcl gc graphic (8)  init(‘82588256825781408140814081408140’Gx);

…

eval /h gc

GC = 82 58 82 56 82 57 81 40 81 40 81 40 81 40 81 40 (hex)  {graphic (8)}

上記の例では、Widechar および Graphic の文字列は ASCII 文字列「978」に対応します。Graphic のコードページは 932 - SHIFT-JIS – Japanese を想定しています。それぞれについて、/hex を指定せずに Evaluate を実行すると、Widechar または Graphic のそのままの値が端末ウィンドウに出力されます。

EVALUATE の一部として、SUBSTR および LENGTH 組み込み関数を変数参照に適用できます。

この例では、SIFT ルーチン内のデータ項目の値が評価されます。

CodeWatch> EVALUATE THIS_PRIME
THIS_PRIME =         7 {fixed binary (31))

この例では、配列 PRIMES の 1 から count -1 (count は 4) までのクロス セクションが評価されます。

CodeWatch> EVALUATE PRIMES (1 : count - 1)
PRIMES(1) =              1 {fixed binary (31))
PRIMES(2) =              2 {fixed binary (31))
PRIMES(3) =              3 {fixed binary (31))

制約事項

なし。