Compaq OpenVMS
デバッガ説明書


前へ 次へ 目次 索引


C.12.1 言語式の演算子

MACRO-64 言語には,高級言語と同じ意味での式というものはありません。受け入れられるのはアセンブリ時の式と,限られたセットの演算子だけです。デバッグ時に MACRO-64 のプログラミングで,他の言語の場合と同じくらい自由に式を使用できるようにするため,デバッガは,MACRO-64 自体には含まれていない多数の演算子を MACRO-64 の言語式の中で受け入れるようになっています。特に,BLISS以後にモデル化された比較演算子とブール演算子のセットは完全に受け入れます。間接参照演算子と通常の算術演算子も受け入れられます。

種類 シンボル 機能
接頭辞 @ 間接参照
接頭辞 . 間接参照
接頭辞 + 単項正符号
接頭辞 - 単項負符号(否定)
挿入辞 + 加算
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 除算
挿入辞 MOD 剰余
挿入辞 @ 左シフト
挿入辞 EQL 等値
挿入辞 EQLU 等値
挿入辞 NEQ 不等
挿入辞 NEQU 不等
挿入辞 GTR 大なり
挿入辞 GTRU 大なり符号なし
挿入辞 GEQ 以上
挿入辞 GEQU 以上符号なし
挿入辞 LSS 小なり
挿入辞 LSSU 小なり符号なし
挿入辞 LEQ 以下
挿入辞 LEQU 以下符号なし
接頭辞 NOT ビット単位の NOT
挿入辞 AND ビット単位の AND
挿入辞 OR ビット単位の OR
挿入辞 XOR ビット単位の排他的論理和
挿入辞 EQV ビット単位の同値

C.12.2 言語式とアドレス式の構造

サポートされている,MACRO-64 の言語式とアドレス式の構造を次に示します。

シンボル 構造
<p,s,e> BLISS 同様のビットフィールド

C.12.3 データ型

MACRO-64 は,データ型をラベル名にバインドします。バインドは,ラベル定義に続くアセンブラ指示文に従って行われます。たとえば,次のコード内の .LONG データ指示文は,ロングワード整数データ型をラベル V1,V2,および V3 にバインドするよう MACRO-64 に対して指示します。


.PSECT A, NOEXE 
.BYTE 5 
V1: 
V2: 
V3: .LONG 7 

V1,V2,および V3 にバインドされている型を確認するには,SHOW SYMBOL/TYPE コマンドを V* パラメータ付きで実行します。実行結果の表示は次のとおりです。


   data  .MAIN.\V1 
      atomic type, longword integer, size: 4 bytes 
   data .MAIN.\V2 
      atomic type, longword integer, size: 4 bytes 
   data .MAIN.\V3 
      atomic type, longword integer, size: 4 bytes)

サポートされている MACRO-64 の指示文を次に示します。

MACRO-64 のデータ型 VMS のデータ型名
.BYTE バイト符号なし(BU)
.WORD ワード符号なし(WU)
.LONG ロングワード符号なし(LU)
.SIGNED_BYTE バイト整数(B)
.SIGNED_WORD ワード整数(W)
.LONG ロングワード整数(L)
.QUAD クォドワード整数(Q)
.F_FLOATING F 浮動小数点数(F)
.D_FLOATING D 浮動小数点数(D)
.G_FLOATING G 浮動小数点数(G)
.S_FLOATING(Alpha 固有) S 浮動小数点数(S)
.T_FLOATING(Alpha 固有) T 浮動小数点数(T)
(該当なし) パック 10 進数(P)

C.13 PASCAL

以下の各サブトピックでは,デバッガによる Pascal のサポートについて説明します。

C.13.1 言語式の演算子

言語式でサポートされている Pascal の演算子を次に示します。

種類 シンボル 機能
接頭辞 + 単項正符号
接頭辞 - 単項負符号(否定)
挿入辞 + 加算,連結
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 実数の除算
挿入辞 DIV 整数の除算
挿入辞 MOD モジュロ
挿入辞 REM 剰余
挿入辞 ** べき乗(VAX 固有)
挿入辞 IN 集合メンバーシップ
挿入辞 = 等値
挿入辞 <> 不等
挿入辞 > 大なり
挿入辞 >= 以上
挿入辞 < 小なり
挿入辞 <= 以下
接頭辞 NOT 論理否定
挿入辞 AND 論理積
挿入辞 OR 論理和


+VAX 固有

型キャスト演算子(::)は,言語式ではサポートされていません。

C.13.2 言語式とアドレス式の構造

サポートされている,Pascal の言語式とアドレス式の構造を次に示します。

シンボル 構造
[ ] 添字指定
.(ピリオド) レコードの構成要素の選択
^(サーカンフレックス) ポインタの間接参照

C.13.3 定義済みのシンボル

サポートされている,Pascal の定義済みのシンボルを次に示します。

シンボル 意味
TRUE 論理値TRUE
FALSE 論理値FALSE
NIL NILポインタ

C.13.4 組み込み関数

サポートされている,Pascal の組み込み関数を次に示します。

シンボル 意味
SUCC 論理的後続データ
PRED 論理的先行データ

C.13.5 データ型

サポートされている Pascal のデータ型を次に示します。

Pascal のデータ型 VMS のデータ型名
INTEGER ロングワード整数(L)
INTEGER ワード整数(W,WU)
INTEGER バイト整数(B,BU)
UNSIGNED ロングワード符号なし(LU)
UNSIGNED ワード符号なし(WU)
UNSIGNED バイト符号なし(BU)
SINGLE,REAL F浮動小数点数(F)
REAL(Alpha 固有) IEEE S 浮動小数点数(FS)
DOUBLE D浮動小数点数(D)
DOUBLE G浮動小数点数(G)
DOUBLE(Alpha 固有) IEEE T 浮動小数点数(FT)
QUADRUPLE(VAX 固有) H 浮動小数点数(H)
BOOLEAN (なし)
CHAR ASCII テキスト(T)
VARYING OF CHAR 変形テキスト(VT)
SET (なし)
FILE (なし)
列挙 (なし)
部分範囲 (なし)
型付きポインタ (なし)
配列 (なし)
レコード (なし)
可変レコード (なし)

Pascal の言語式の中では,デバッガは,[1,2,5,8..10] や [RED,BLUE] といった Pascal の集合定数を受け入れます。

REAL 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,F 浮動小数点数または IEEE S 浮動小数点数のどちらかで表現されます。

DOUBLE 型の浮動小数点数は,コンパイラのスイッチまたはソース・コードの属性によって,D 浮動小数点数,G 浮動小数点数,または IEEE T 浮動小数点数のどれかで表現されます。

C.13.6 補足情報

通常は,変数,レコード・フィールド,配列の構成要素のそれぞれに対して,検査,評価,格納を行うことができますが,次の場合は例外です。プログラムの中で変数が参照されていない場合,Pascal コンパイラは変数を割り当てません。変数を割り当てていないときにその変数を検査しようとしたり,その変数へ格納しようとするとエラー・メッセージが表示されます。

変数にデータを格納する場合,格納される値が変数よりも大きいときは,デバッガは上位ビットを切り捨てます。格納される値が変数よりも小さいときは,上位ビットをゼロで埋めます。代入互換性の規則に違反した格納をすると情報メッセージが表示されます。

実行中のブロック内であればどのブロックでも自動変数を調べたり,自動変数へ格納することができます。しかし,自動変数はスタック領域に割り当てられ,レジスタに格納されるので,変数が初期化されるまで,または変数に値が代入されるまで,自動変数の値は未定義であるとみなされます。

C.13.7 制限事項

Pascal についてのデバッガの制限事項は次のとおりです。

VARYING OF CHAR の文字列の値を調べることはできますが,Pascal の通常の構文を使用して .LENGTH フィールドや .BODY フィールドの値を調べることはできません。たとえば,VARS が文字列変数名の場合,次のコマンドはサポートされません。


DBG> EXAMINE VARS.LENGTH
DBG> EXAMINE VARS.BODY

これらのフィールドを確認するには,次の方法を使用します。

使用する 使用しない
EXAMINE/WORD VARS EXAMINE VARS.LENGTH
EXAMINE/ASCII VARS+2 EXAMINE VARS.BODY

C.14 PL/I

次の各サブトピックでは,デバッガによる PL/I のサポートについて説明します。

C.14.1 言語式の演算子

言語式でサポートされている PL/I の演算子を次に示します。

種類 シンボル 機能
接頭辞 + 単項正符号
接頭辞 - 単項負符号(否定)
挿入辞 + 加算
挿入辞 - 減算
挿入辞 * 乗算
挿入辞 / 除算
挿入辞 ** べき乗
挿入辞 || 連結
挿入辞 = 等値
挿入辞 ^= 不等
挿入辞 > 大なり
挿入辞 >= 以上
挿入辞 ^< 以上
挿入辞 < 小なり
挿入辞 <= 以下
挿入辞 ^> 以下
接頭辞 ^ ビット単位のNOT
挿入辞 & ビット単位のAND
挿入辞 | ビット単位のOR

C.14.2 言語式とアドレス式の構造

サポートされている,PL/I の言語式とアドレス式の構造を次に示します。

シンボル 構造
() 添字指定
.(ピリオド) 構造体の構成要素の選択
-> ポインタの間接参照

C.14.3 データ型

サポートされている PL/I のデータ型を次に示します。

PL/I のデータ型 VMS のデータ型名
FIXED BINARY バイト整数(B),ワード整数(W),またはロングワード整数(L)
FIXED DECIMAL パック 10 進数(P)
FLOAT BIN/DEC F 浮動小数点数(F)
FLOAT BIN/DEC D 浮動小数点数(D)
FLOAT BIN/DEC G 浮動小数点数(G)
FLOAT BIN/DEC(VAX 固有) H 浮動小数点数(H)
BIT ビット(V)
BIT ビット境界合わせなし(VU)
CHARACTER ASCII テキスト(T)
CHARACTER VARYING 変形テキスト(VT)
FILE (なし)
ラベル (なし)
ポインタ (なし)
配列 (なし)
構造体 (なし)


前へ 次へ 目次 索引