構文エレメントのなかには、複数の Debug Tool コマンドで使用されるものがあります。このようなエレメントについては、下記のトピックで説明 します。次に示す構文エレメントの一部は総称であり、構文図を必要としません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
メモリー内の場所の 16 進アドレス。address には、最大 16 個の 16 進数字を使用できます。address に 8 個を超える有効 16 進数字が含まれていると、Debug Tool は、address は 64 ビット・アドレス可能ストレージを参照するとみなします。address に、7 または 8 個の有効 16 進数字が含まれている場合、Debug Tool は、address は 31 ビット・アドレス可能ストレージを参照するとみなします。 それ以外の場合、Debug Tool は、address は 24 ビット・アドレス可能ストレージを参照するとみなします。
コード (命令) および保存域の参照には、8 個以下の有効 16 進数字しか使用できません。
address は、次のいずれかの形式でなければなりません。
COBOL または非言語環境プログラム COBOL の場合、X の直後に 16 進値を囲んだアポストロフィ (') または引用符 (") が続きます。
block_name は、次のものを識別します。
現行のブロック修飾は、SET QUALIFY BLOCK コマンドを使用して変更できます。
ユーザーは、現行のエンクレーブで認識されているブロックに対してのみ、block_name を使用することができます。
block_spec は、デバッグ中のプログラム内の ブロックを識別します。

ユーザーは、現行のエンクレーブで認識されているブロックに対してのみ、block_name を使用することができます。
int function(int, int) is function(int, int)
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
単純な関係条件。 関係条件を構成する個々の規則は、プログラム言語の現行設定によって異なります。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
compile_unit_name は、次の項目を識別します。
コンパイル単位名が現行のプログラム言語での有効な ID になって いない場合、現行のプログラム言語 での文字ストリング定数として入力する必要があります。
現行のコンパイル単位の修飾は、SET QUALIFY CU コマンドを使用して変更できます。
cu_spec は、デバッグ中のアプリケーション内の コンパイル単位を識別します。PL/I では、コンパイル単位名はプログラムの最外部のプロシージャー名と同じになります。

cu_spec を省略すると、現行のロード・モジュール修飾が使用されます。
cu_spec を使用できるのは、現在実行中のエンクレーブ内の コンパイル単位のみを指定する場合です。したがって、ユーザーは変数名、関数名、ラベル、および statement_id のみを現行のエンクレーブのコンパイル単位内のブロックに対して修飾することができます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
式とは、参照と値を生じる演算子の組み合わせです。例えば、単一の定数、プログラム、セッション、Debug Tool 変数、組み込み関数参照であったり、あるいは、定数、変数、組み込み関数参照の組み合わせや、演算子と句読記号 (括弧など) です。
式を形作るための特定の規則は、現行のプログラム言語の設定値、および Debug Tool が実行されている言語の実行時ライブラリーのリリース・ レベルによって異なります。例えば、Debug Tool のバージョンをアップグレードせずに HLL コンパイラーの バージョンをアップグレードすると、ある種のアプリケーション・プログラミング・インターフェース の矛盾が生じる可能性があります。
現行のエンクレーブ内の変数に対してのみ式を使用できます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
load_module_name は、サポートされる HLL ロード・サービスまたはサブシステムによってロードされたファイル、オブジェクト、またはダイナミック・リンク・ライブラリー (DLL) の名前です。例えば、エンクレーブはロード・モジュールを含み、ロード・ モジュールにはコンパイル単位が含まれているという関係になります。
C の場合、ストリングとして指定されたロード・モジュール名に含まれる エスケープ・シーケンスは、そのストリングが修飾ステートメントの一部分である場合には処理されません。
load_module_name が、修飾子としてそれを使用することを許可する名前から省略されると、現行のロード・モジュールの修飾が想定されます。load_module_name は、SET QUALIFY LOAD コマンドを使用して変更できます。
2 つのエンクレーブに含まれるモジュールが重複する場合、モジュールの中の コンパイル単位に対する参照は不明確になるので、エラーのフラグが立ちます。しかし、コンパイル単位が現在実行中のロード・モジュールにある場合は、その ロード・モジュールが該当すると見なされ、あいまいさに対するチェックは行いません。したがって、Debug Tool にとって、ロード・モジュール名は固有なものである 必要があります。
load_spec は、デバッグ中のプログラム内のロード・モジュールを 識別します。

load_spec は、現行のプログラム言語でストリング定数として指定することができます。例えば、C ではストリング・リテラルであり、COBOL では文字リテラルです。そのように指定しない場合は、現行のプログラム言語で 有効な ID でなければなりません。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
offset_spec は、オフセットの指定を識別します。

このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
参照は、最終的にストレージの領域に解決される式のサブセット、すなわち、代入ステートメントのターゲットに成りうるものを 表します。参照とは、例えば、プログラム変数、セッション変数、または Debug Tool 変数、配列 または配列エレメント、もしくは構造または構造エレメントなどであり、これらはいずれもポインター修飾 となり得ます (プログラム言語で認められる場合)。参照内での ID は、構造名および項目が可視であるブロックの名を含める ことにより、オプションとして修飾することができます。これには、任意で添え字およびサブストリング修飾子が続けられますが、現行の プログラム言語の規則に従います。
修飾つきの参照を指定する場合、修飾子として、参照対象を含む すべての構造とブロックを組み込み、オプションとして、ロード・モジュール名の修飾子で始めることができます。 例えば、現行のプログラム言語の設定が C である場合、mod::>cu:>proc:>struc1.struc2.array[23] のように指定します。 しかし、アセンブラー、逆アセンブリー、および非言語環境プログラム COBOL では、変数名を、ロード・モジュール、コンパイル単位、 またはブロック名で修飾することはできません。
現行のプログラム言語の設定が C および C++ の場合、lvalue という用語が、参照という語の代わりに使用されます。
Enterprise PL/I バージョン 3.5 (APAR PK35230 および PK35489 の PTF 適用) より前のバージョンでコンパイルされた プログラムをデバッグする場合、Debug Tool では block_spec、cu_spec、または load_spec を組み込む、 修飾付き参照の使用をサポートしません。
以下のいずれかのコンパイラーでコンパイルされ、次の環境で実行しているプログラムをデバッグする場合、Debug Tool は、block_spec、cu_spec、またはload_spec を含む修飾付き参照の使用をサポートします。
Enterprise PL/I コンパイラーでコンパイルしたプログラムをデバッグしていて、Debug Tool がブロックの入り口にある場合には、入力されているブロックで宣言された 変数を組み込む変数または式をリストまたは参照することはできません。
COBOL 参照では、データ名を使用することができます。COBOL 言語の規則に従って、以下のいずれかのデータ名を使用することができます。
COBOL 参照では、以下の特殊レジスター以外の特殊レジスターを使用することができます。
参照を形作るための特定の規則は、現行のプログラム言語の設定値、および Debug Tool が実行されている言語の実行時ライブラリーのリリース・ レベルによって異なります。例えば、Debug Tool のバージョンをアップグレードせずに HLL コンパイラーの バージョンをアップグレードすると、ある種のアプリケーション・プログラミング・インターフェース の矛盾が生じる可能性があります。
statement_id は、現行のプログラム言語に適切な方法で、実行可能ステートメントを識別します。ステートメント ID には、ステートメント番号、シーケンス番号、またはソースの行番号が使用できます。ステートメント ID は、integer または integer.integer (最初の integer は行番号で、2 番目の integer は相対ステートメント番号) です。例えば、3 行目にある最初の相対ステートメントを示すには、3、3.0、または 3.1 と指定することができます。C、C++、COBOL、および PL/I では、ソース行内で複数のステートメントまたは verb を使用することができます。
ステートメント ID を使用できるのは、現行のエンクレーブで認識されて いるステートメントに対してのみです。
statement_id_range は、ソース・ステートメント ID または ステートメント ID の範囲を識別します。stmt_id_spec は、ステートメント ID の指定を識別します。

ステートメントの範囲は、開始および終了のステートメント ID を 指定することによって識別でき、ハイフン (-) によって区切られます。現行のプログラム言語の設定が COBOL の場合、ハイフン (-) の前後にはブランクがなければなりません。C および C++ および PL/I の場合、ブランクはオプションです。開始および終了の 2 つのステートメント ID は同じブロック内になければならないため、2 番目のステートメントをソース・プログラム内で最初のステートメントより 前に記述すること、および同じステートメントを使用することはできません。
単一のステートメント ID もまた、ステートメント ID 範囲として認められ、同じステートメントで開始および終了すると見なされます。単一ステートメント ID の範囲は、複数ステートメント行の場合でも、1 つのステートメントまたは verb で構成されます。
このトピックで説明している内容に関して詳しくは、以降のトピックを参照してください。
statement_label は、そのソース・ラベルを使用して ステートメントを識別します。修飾されたステートメント・ラベルを指定する場合、それを含んでいるすべてのコンパイル単位名およびブロック名を組み込み、任意にロード・モジュール名の 修飾子で開始します。例えば、次のようになります。
mod::>proc1:>proc2:>block1:>start
ラベルの形式は、現行のプログラム言語によって異なります。
ステートメント・ラベルは、現行のエンクレーブで認識されているラベルに対してのみ使用できます。
変更可能な値を表す連続したテキスト・ストリング。 複数の異なるプログラミング言語で使用可能な variable_name を作成できます。 variable_name は、以下の構文規則に準拠している必要があります。
Debug Tool は、プログラミング言語に固有の構文規則で記述された variable_name の作成もサポートします。 ただし、特定のプログラミング言語構文に対して記述された variable_name を作成する場合、別のプログラミング言語で作成されたプログラムでこの variable_name を使用することはできません。 例えば、COBOL では、変数名にはダッシュ文字 (-) を使用できます。ダッシュを含む variable_name を作成した場合、この variable_name を PL/I または C/C++ プログラムで使用することはできません。