SET 文

SET 文は、外部スイッチの状態を変更するために使用する。

ANS85 SET 文は、条件変数の値を変更するために使用する。

VSC2MF SET 文は、データ項目のアドレスをポインター データ項目に割り当てるために使用する。また、ポインター データ項目を調整するために使用する。

SET 文は、表要素に関連付けられた指標を設定することによって、表処理操作用の参照点を確定する。

MF SET 文は、プログラムのアドレスまたはプログラムのエントリ ポイントを手続きポインター データ項目に割り当てるために使用する。

ISO2002MF SET 文は、ポインターのアドレスをプログラム ポインター データ項目に割り当てるために使用する。

ISO2002MF SET 文は、オブジェクト参照を割り当てるために使用する。

MF SET 文は、同期データ項目の値を変更するために使用する。

MF SET 文は、同期データ項目のアドレスを別の同期データ項目に割り当てるために使用する。

NETJVM SET 文は、ネイティブ配列のサイズを変更するために使用する。

NETJVM SET 文は、ネイティブ配列の内容を初期化するため、および内容に基づいて配列のサイズを設定するために使用する。

NETJVM SET 文は、用途が CONDITION-VALUE であるブール データ項目の値を変更するために使用する。

NETJVM SET 文は、ネイティブ型のデータ項目の値を変更するために使用する。

ANS85 

書き方 1 の一般形式 (スイッチ設定)


*
ANS85 

書き方 2 の一般形式 (条件設定)


*
VSC2 

書き方 3 の一般形式 (データ ポインター割り当て)


*
ISO2002MF 

書き方 4 の一般形式 (データ ポインター割り当て)


*
ISO2002MF 

書き方 5 の一般形式 (データ ポインター算術)


*

書き方 6 の一般形式 (指標割り当て)


*

書き方 7 の一般形式 (指標算術)


*
MF 

書き方 8 の一般形式 (手続きポインター割り当て)


*
ISO2002MF 

書き方 9 の一般形式 (オブジェクト参照割り当て)


*
MF 

書き方 10 の一般形式 (イベント ポインターの値)


*
MF 

書き方 11 の一般形式 (イベント ポインターのアドレス)


*
MF 

書き方 12 の一般形式 (モニター ポインターの値)


*
MF 

書き方 13 の一般形式 (モニター ポインターのアドレス)


*
MF 

書き方 14 の一般形式 (ミューテックス ポインターの値)


*
MF 

書き方 15 の一般形式 (ミューテックス ポインターのアドレス)


*
MF 

書き方 16 の一般形式 (セマフォ ポインターの値)


*
MF 

書き方 17 の一般形式 (セマフォ ポインターのアドレス)


*
NETJVM 

書き方 18 の一般形式 (配列のサイズ)

NETJVM 

書き方 19 の一般形式 (配列の内容)

NETJVM 

書き方 20 の一般形式 (CONDITION-VALUE 設定)

NETJVM 

書き方 21 の一般形式 (データ設定)

指令

  1. 予約語リストのフラグ設定および修正を行うコンパイラ指令に加えて、以下の指令が、本セクションに記載の構文または意味内容に影響を与える可能性がある。
    • STICKY-LINKAGE - SET 文によってポインター データ項目に入れられたデータ項目のアドレスを、サブプログラムの呼び出しの間に保持しておくか否かを決定する。

すべての書き方の構文規則

  1. 表意定数の NULL や NULLS、または pointer-name-2 や procedure-pointer-name-2 が参照するデータ項目は送信側領域を表す。「ADDRESS OF identifier-2」、「ENTRY identifier-8」、「ENTRY literal-1」、または送信側領域に保持されている値は送信値を表す。

    pointer-name-1、pointer-name-3、または procedure-pointer-name-1 が参照するデータ項目、あるいは「ADDRESS OF identifier-1」によって暗黙的に示される COBOL システム領域は受信側領域を表す。

    Identifier-3、integer-1、または「LENGTH OF identifier-4」は増分値を表す。

書き方 1 の構文規則

  1. ANS85 mnemonic-name-1 は、状態を変更できる外部スイッチに関するものとする。

    MF SET 文で参照できる外部スイッチの詳細については、「特殊名段落」のトピックを参照。

書き方 2 の構文規則

  1. ANS85 condition-name-1 および condition-name-2 は、条件変数に関するものとする。
  2. MF FALSE 指定を書いた場合、condition-name-1 または condition-name-2 のデータ記述項の VALUE 句に FALSE を指定しておく。
  3. MF 各 FALSE 指定または TRUE 指定は、それらの前に来る condition-name-1 または condition-name-2 の反復要素および前の FALSE 指定または TRUE 指定に続く condition-name-1 または condition-name-2 の反復要素 (ある場合) に適用される。

書き方 3 および 4 の構文規則

  1. VSC2MF identifier-1 は、連絡節内の 01 レベルまたは 77 レベルの項目とする。

    OS390 identifier-1 は、連絡節、ローカル記憶域節、または作業場所節で宣言する。

  2. ISO2002VSC2MFOS390 identifier-2 は、レベルが 77 または 01 以上 49 以下のデータ項目を参照するものとする。

    ISO2002VSC2 identifier-2 は連絡節で宣言する。

  3. VSC2MF pointer-name-1、pointer-name-2 はそれぞれ、USAGE IS POINTER を伴う基本データ項目を参照する一意名とする。

書き方 5 の構文規則

  1. MF pointer-name-3 は USAGE IS POINTER を伴う基本データ項目を参照する一意名とする。
  2. MF identifier-3 は整数の基本項目とする。
  3. MF integer-1 は符号付きでもよい。

書き方 6 の構文規則

  1. identifier-5 および identifier-6 はそれぞれ、指標データ項目または整数として記述されている基本項目を参照しなければならない。両方を指定した場合は、同一の基本項目を参照してはならない。

書き方 6 および 7 の構文規則

  1. integer-2 および integer-3 は符号付きでもよい。integer-2 は正数とする。

書き方 7 の構文規則

  1. identifier-7 は整数の基本項目を参照しなければならない。

書き方 8 の構文規則

  1. MF procedure-pointer-name-1 および procedure-pointer-name-2 はそれぞれ、USAGE IS PROCEDURE-POINTER を伴う基本データ項目を参照する一意名でなければならない。
  2. MF identifier-8 は英数字データ項目として定義するものとする。これは、その値を COBOL または COBOL 以外のどちらのプログラム名にも指定できるようにするためである。
  3. MF literal-1 は文字定数とする。

書き方 9 の構文規則

  1. ISO2002MF identifier-9 は、受信側項目として使用できるクラス オブジェクトの項目とする。
  2. ISO2002MF identifier-10 はクラス名またはオブジェクト参照とする。定義済みオブジェクト参照である SUPER を指定してはならない。
  3. ISO2002MF identifier-9 が参照するデータ項目が一般的オブジェクト参照である場合、identifier-10 に指定できる定義済みオブジェクト参照は SELF および NULL だけである。
  4. ISO2002MF identifier-9 が参照するデータ項目の記述にインターフェイス int-1 を指すインターフェイス名がある場合、identifier-10 が参照するデータ項目は下記のいずれかでなければならない。
    1. int-1 を指すインターフェイス名または int-1 を継承するインターフェイスを指すインターフェイス名を用いて記述されたオブジェクト参照。
    2. クラス名を用いて記述されたオブジェクト参照。次の規則に従う。
      1. FACTORY 指定を書いた場合は、指定したクラスのファクトリ オブジェクトは int-1 を実装しなければならない。
      2. FACTORY 指定を書かなかった場合は、指定したクラスのインスタンス オブジェクトは int-1 を実装しなければならない。
    3. ACTIVE-CLASS 指定を用いて記述されたオブジェクト参照。ただし、下記の規則に従う。
      1. FACTORY 指定を書いた場合は、identifier-10 が参照するデータ項目を含むクラスのファクトリ オブジェクトは int-1 を実装しなければならない。
      2. FACTORY 指定を書かなかった場合は、identifier-10 が参照するデータ項目を含むクラスのインスタンス オブジェクトは int-1 を実装しなければならない。
    4. int-1 を実装するファクトリ オブジェクトのクラス名。
    5. 定義済みオブジェクト参照の SELF。ただし、下記の規則に従う。
      1. SET 文がクラスのファクトリ定義中のメソッドに含まれている場合、そのファクトリ定義は、int-1 を参照する IMPLEMENTS 句を使用して記述されていなければならない。
      2. SET 文がクラスのインスタンス定義中のメソッドに含まれている場合、そのインスタンス定義は、int-1 を参照する IMPLEMENTS 句を使用して記述されていなければならない。
    6. 定義済みオブジェクト参照の NULL。
  5. ISO2002MF identifier-9 が参照するデータ項目の記述にクラス名がある場合、identifier-10 が参照するデータ項目は下記のいずれかでなければならない。
    1. クラス名を用いて記述されたオブジェクト参照。次の規則に従う。
      1. identifier-9 が参照するデータ項目の記述に ONLY 指定がある場合、identifier-10 が参照するデータ項目は ONLY 指定を用いて記述されていなければならず、identifier-10 が参照するデータ項目の記述中に指定されているクラス名は identifier-9 が参照するデータ項目の記述中に指定されているクラス名と同じでなければならない。
      2. identifier-9 が参照するデータ項目の記述に ONLY 指定がない場合、identifier-10 が参照するデータ項目は identifier-9 が参照するデータ項目の記述中に指定されているのと同じクラスまたはそのサブクラスを参照しなければならない。
      3. FACTORY 指定の有無は identifier-9 が参照するデータ項目の記述と同じでなければならない。
    2. ACTIVE-CLASS 指定を用いて記述されたオブジェクト参照。ただし、下記の規則に従う。
      1. identifier-9 が参照するデータ項目の記述に ONLY 指定があってはならない。
      2. identifier-10 が参照するデータ項目を含むクラスは identifier-9 が参照するデータ項目の記述中に指定されているのと同じクラスまたはそのサブクラスでなければならない。
      3. FACTORY 指定の有無は identifier-9 が参照するデータ項目の記述と同じでなければならない。
    3. 定義済みオブジェクト参照の SELF。ただし、下記の規則に従う。
      1. identifier-9 が参照するデータ項目の記述に ONLY 指定があってはならない。
      2. SET 文を含むオブジェクトのクラスは identifier-9 が参照するデータ項目の記述中に指定されているのと同じクラスまたはそのサブクラスでなければならない。
      3. identifier-9 が参照するデータ項目の記述に FACTORY 指定がない場合、SET 文を含むオブジェクトはインスタンス オブジェクトでなければならない。
      4. identifier-9 が参照するデータ項目の記述に FACTORY 指定がある場合、SET 文を含むオブジェクトはファクトリ オブジェクトでなければならない。
    4. クラス名。ただし、identifier-9 が参照するデータ項目の記述に FACTORY 指定があるものとして、そのクラス名は identifier-9 が参照するデータ項目の記述中に指定されているのと同じクラスまたはそのサブクラスを参照しなければならない。
    5. 定義済みオブジェクト参照の NULL。
  6. ISO2002MF identifier-9 が参照するデータ項目の記述に ACTIVE-CLASS 指定がある場合、identifier-10 が参照するデータ項目は下記のいずれかでなければならない。
    1. ACTIVE-CLASS 指定を用いて記述されたオブジェクト参照。ただし、FACTORY 指定の有無は identifier-9 が参照するデータ項目の場合と同じでなければならない。
    2. 定義済みオブジェクト参照の SELF。ただし、下記の規則に従う。
      1. identifier-9 が参照するデータ項目の記述に FACTORY 指定がない場合、SET 文を含むオブジェクトはインスタンス オブジェクトでなければならない。
      2. identifier-9 が参照するデータ項目の記述に FACTORY 指定がある場合、SET 文を含むオブジェクトはファクトリ オブジェクトでなければならない。
    3. 定義済みオブジェクト参照の NULL。
  7. ISO2002MF identifier-9 が文字列型である場合、identifier-10 は任意の型でよい。

書き方 10 の構文規則 (イベント ポインターの値)

  1. MF event-pointer-1 は、USAGE EVENT-POINTER を使用してデータ項目として定義しなければならない。

書き方 11 の構文規則 (イベント ポインターのアドレス)

  1. MF event-pointer-1 および event-pointer-2 は、USAGE EVENT-POINTER を使用してデータ項目として定義しなければならない。

書き方 12 の構文規則 (モニター ポインターの値)

  1. MF monitor-pointer-1 は、USAGE MONITOR-POINTER を使用してデータ項目として定義しなければならない。
  2. MF NOT 指定を書いた場合、CONVERTING 指定を書いてはならない。

書き方 13 の構文規則 (モニター ポインターのアドレス)

  1. MF monitor-pointer-1 および monitor-pointer-2 は、USAGE MONITOR-POINTER を使用してデータ項目として定義しなければならない。

書き方 14 の構文規則 (ミューテックス ポインターの値)

  1. MF mutex-pointer-1 は、USAGE MUTEX-POINTER を使用してデータ項目として定義しなければならない。

書き方 15 の構文規則 (ミューテックス ポインターのアドレス)

  1. MF mutex-pointer-1 および mutex-pointer-2 は、USAGE MUTEX-POINTER を使用してデータ項目として定義しなければならない。

書き方 16 の構文規則 (セマフォ ポインターの値)

  1. MF semaphore-pointer-1 は、USAGE SEMAPHORE-POINTER を使用してデータ項目として定義しなければならない。
  2. MF identifier-11 は整数を参照しなければならない。

書き方 17 の構文規則 (セマフォ ポインターのアドレス)

  1. MF semaphore-pointer-1 および semaphore-pointer-2 は、USAGE SEMAPHORE-POINTER を使用してデータ項目として定義しなければならない。

書き方 18 の構文規則 (配列のサイズ)

  1. NETJVM identifier-12 は、書き方 3 の OCCURS 句を使用して記述しなければならない。
  2. NETJVM identifier-13 には整数を指定しなければならない。
  3. NETJVM TO 指定の後にある作用対象の数は、identifier-12 に指定されている次元数を超えてはならない。

書き方 19 の構文規則 (配列の内容)

  1. NETJVM identifier-14 は、書き方 3 の OCCURS 句を使用して 1 次元配列または四角形配列として記述しなければならない。
  2. NETJVM literal-2 は、記述項の左辺を記述する VALUE 句の有効な定数でなければならない。
  3. NETJVM 値をサブ配列に分けるために literal-2 または identifier-15 の繰り返しの中でかっこを使用してもよい。

書き方 20 の構文規則 (CONDITION-VALUE 設定)

  1. NETJVM identifier-16 および identifier-17 の用途は CONDITION-VALUE でなければならない。
  2. NETJVM condition-name-3 は、条件変数に関するものとする。

書き方 21 の構文規則 (.NET データ設定)

  1. NETJVM identifier-18 および identifier-19 は受信側項目である。
  2. NETJVM identifier-20、literal-3、または arithmetic-expression-1 は送信側項目である。
  3. NETJVM 次のいずれかに該当する場合に SET 文は有効となる。
    • 送信側項目および受信側項目がともに数値である。
    • identifier-18、identifier-19、および identifier-20 が同じクラスのオブジェクトである。
    • identifier-20 のクラスが identifier-18 および identifier-19 のクラスを直接的または間接的に継承する。
    • identifier-18 および identifier-19 がインターフェイス型であり、identifier-20 がそのインターフェイスを実装する。
    • identifier-20 のクラスを持つ項目に identifier-18 および identifier-19 のクラスへの暗黙変換演算子がある。
    • identifier-18 および identifier-19 が英数字または各国文字である。

書き方 1 の一般規則

  1. ANS85 指定した mnemonic-name-1 に関連した各外部スイッチの状態は、そのスイッチに関連した condition-name の評価結果の真理値が ON を指定した場合はオンに、 OFF を指定した場合はオフに設定されるように変更される。(「手続き部」の章の「スイッチ状態条件」のトピックを参照)。

書き方 2 の一般規則

  1. ANS85 condition-name-1 または condition-name-2 に関する VALUE 句中の定数が、VALUE 句の規則に従って、条件変数に入れられる (「VALUE 句」のセクションを参照)。VALUE 句の中に複数の定数を指定してある場合には、条件変数の値は VALUE 句内の最初の定数に等しく設定される。
  2. ANS85 複数の条件名を指定した場合、その SET 文を実行した結果は、その中の各 condition-name-1 または condition-name-2 用にその順番どおりに別々の SET 文を書いて実行した場合と等しい。
  3. MF FALSE 指定を書くと、condition-name-1 または condition-name-2 に関する VALUE 句の FALSE 指定の中の定数が、VALUE 句の規則に従って条件変数に入れられる(「VALUE 句」のトピックを参照)。

書き方 3 および 4 の一般規則

  1. VSC2MF 送信値はデータ項目のアドレスを表す。pointer-name-2 を指定した場合、送信値は pointer-name-2 が参照するデータ項目に含まれている値である。「ADDRESS OF identifier-2」を指定した場合、送信値は identifier-2 のアドレスを表す。
  2. VSC2MF pointer-name-1 を指定した場合、送信値は pointer-name-1 が参照するデータ名に転記される。
  3. VSC2MF「ADDRESS OF identifier-1」を指定した場合、送信値は COBOL のシステム領域に転記される。それ以降、ランタイム要素は identifier-1 が参照する記憶領域が送信値によって示されるアドレスにあるものとして動作する。

    MF サブプログラムを呼び出す際にリンクを維持するか否かは、STICKY-LINKAGE 指令の影響を受ける。

書き方 5 の一般規則

  1. MF SET 文が実行される前に、pointer-name-3 が参照するデータ項目の値は、論理レコード内のデータ項目のアドレスである当初のアドレスを表していなければならない。SET 文が実行された後では、pointer-name-3 が参照するデータ項目の値は新しいアドレスを表す。当初のアドレスと新しいアドレスが共に同じ論理レコード (または、アドレス空間がセグメント化されている環境では、同じセグメント) 内に収まらない場合、pointer-name-3 が参照するデータ項目の値を使用すると、結果は未定義となる。
  2. MF UP 句を指定した場合、増分値が提供するバイト数を当初のアドレスに加えて、新しいアドレスが作成される。
  3. MF DOWN 句を指定した場合、増分値が提供するバイト数を当初のアドレスから引いて、新しいアドレスが作成される。

書き方 5 の一般規則

  1. 以下の手順は、index-name-1 または identifier-5 が反復するたびに繰り返される。繰り返されるたびに、index-name-2 または identifier-6 の値が、文の実行の開始時と同様に使用される。identifier-5 に関連付けられた添え字付けまたは指標付けは、そのデータ項目の値が変更される直前に評価される。
    1. index-name-1 を指定した場合、index-name-1 は、出現回数で index-name-2、identifier-6、または integer-2 が参照する表要素に対応する表要素を参照する値に設定される。identifier-6 が指標データ項目を参照する場合、または index-name-2 が identifier-1 と同じ表に関連している場合、変換は行われない。
    2. identifier-5 が指標データ項目を参照する場合、identifier-5 は index-name-2 または identifier-6 のいずれかと同じ内容に設定できる。ここで、identifier-6 も指標項目を参照する。どちらの場合も変換は行われない。
    3. identifier-5 が指標データ項目を参照しない場合、identifier-5 は index-name-2 の値に対応する出現回数にのみ設定できる。この場合は、identifier-6 も integer-2 も使用できない。
  2. SET 文での各種作用対象の有効な組み合わせを次の表に示す。適用される一般規則の番号も合わせて示す。
    表 1:指標を対象とする SET 文の有効な作用対象の組み合わせ
    送信側項目 受信側項目
    整数データ項目 指標名 指標データ項目
    整数定数 無効/11c 有効/11a 無効/11b
    整数データ項目 無効/11c 有効/11a 無効/11b
    指標名 有効/11c 有効/11a 有効/11b1
    指標データ項目 無効/11c 有効/11a1 有効/11b1

    1 = 変換は行われない

書き方 6 および 7 の一般規則

  1. 指標名を所定の表と関連付けるには、その表に対して OCCURS 句の INDEXED BY で指定する。
  2. index-name-1 を指定した場合、SET 文を実行した後の指標の値は、index-name-1 に関連付けられた表の要素の出現回数に対応していなければならない。PERFORM 文または SEARCH 文の実行後、指標名に関連付けられた指標の値は、その関連付けられた表の範囲外の出現回数に設定される場合がある(「PERFORM 文」および「SEARCH 文」トピックを参照)。

    index-name-2 を指定した場合、SET 文の実行前の指標の値は、index-name-1 に関連付けられた表の中の要素の出現回数に対応していなければならない。

    index-name-3 を指定した場合、SET 文の実行前後の指標の値は、index-name-3 に関連付けられた表の中の要素の出現回数と対応していなければならない。

書き方 7 の一般規則

  1. index-name-3 の内容が、integer-3 の値または identifier-7 が参照するデータ項目によって示される出現回数に対応する値だけ増分 (UP BY) または減分 (DOWN BY) される。その後、index-name-3 が反復されるたびにこのプロセスが繰り返される。繰り返しごとに、identifier-7 が参照するデータ項目の値が、文の実行の開始時と同じように使用される。

書き方 8 の一般規則

  1. MF 送信値は COBOL または COBOL 以外のプログラム内の手続きの開始アドレスを表す。
  2. MF 送信値は procedure-pointer-name-1 が参照するデータ項目に転記される。
  3. MF procedure-pointer-name-2 を指定した場合、送信値は procedure-pointer-name-2 が参照するデータ項目内に含まれる値となる。
  4. MF literal-1、または identifier-8 が参照するデータ項目の内容は、参照される手続きの名前である。参照される手続きが COBOL の手続きである場合、参照される手続きの名前にはプログラム名またはエントリ名が収められていなければならない。前者は参照されるプログラムのプログラム名段落に記述されているものである。後者は参照される手続きの ENTRY 文に記述されているものである。

    呼び出されるプログラムが COBOL プログラムではない場合のプログラム名または手続き名の構成に関する規則については、インターフェイスに関する COBOL システムのドキュメントに記載されている。

    参照される手続きが前に利用可能にされており、SET 文を実行する時点でもまだ利用可能な場合には、送信値は参照される手続きのアドレスを表す。

    参照される手続きが SET 文を実行する時点でもまだ利用可能ではない場合には、送信値は COBOL システムのエラー手続きのアドレスを表す。

書き方 9 の一般規則

  1. ISO2002MF identifier-10 がオブジェクト参照である場合、identifier-10 が示すオブジェクトへの参照が、identifier-9 が参照する各データ項目に、指定された順に収められる。
  2. ISO2002MF identifier-10 がクラス名である場合、identifier-10 が示すクラスのファクトリ オブジェクトへの参照が、identifier-9 が参照する各データ項目に、指定された順に収められる。
  3. ISO2002MF identifier-9 が文字列型で、identifier-10 が任意の型で、identifier-10 の型と文字列の間に暗黙変換が存在しない場合、文字列に変換するために ToString メソッドが identifier-10 に適用され、その結果が identifier-9 に収められる。

書き方 10 および 11 の一般規則

  1. MF 複数の event-pointer-1 を指定した場合、その SET 文を実行した結果は、その中の各 event-pointer-1 用にその順番どおりに別々の SET 文を書いて実行した場合と等しい。

書き方 10 の一般規則 (イベント ポインターの値)

  1. MF SET 文の実行により、event-pointer-1 が参照するイベントの値が TRUE または FALSE に設定される。
    注:イベントが FALSE に設定されている場合、そのイベントを参照する WAIT 文を実行するスレッドの実行は、別のスレッドでそのイベントが TRUE に設定されるまで中断される。

書き方 11 の一般規則 (イベント ポインターのアドレス)

  1. MF event-pointer-1 は、event-pointer-2 が参照するものと同じイベント データ項目を参照するように設定される。

書き方 12 および 13 の一般規則

  1. MF 複数の monitor-pointer-1 を指定した場合、その SET 文を実行した結果は、その中の各 monitor-pointer-1 用にその順番どおりに別々の SET 文を書いて実行した場合と等しい。

書き方 12 の一般規則 (モニター ポインターの値)

  1. MF NOT 指定が書かれていない場合、monitor-pointer-1 が参照するモニターの値は BROWSING、READING、WRITING のいずれかに設定されて、対応する形式のロックが確立される。この特定のモニターに対するこの特定のロック タイプは、最終的に、一致する NOT 指定または一致する CONVERTING FROM 指定を含む SET 文で解除する必要がある。

    たとえば、次の文で設定したロックは、

    SET mon-1 TO READING

    次の文で解除できる。

    SET mon-1 TO NOT READING
  2. MF CONVERTING 指定は、モニターで設定したロックの現在のタイプを変更するために使用する。FROM で指定したロック タイプは現時点でそのスレッドで確立されている必要があり、文が正常に実行されると、そのロックは、不可分な単一の操作で、TO で指定したロック タイプに変更される。
  3. MF 入れ子になったロックを取得するには、ロックを解除する SET 文が介入しない連続した SET モニター文を実行する。READING ロックを設定した場合、そのスレッド内では BROWSING ロックまたは WRITING ロックを入れ子にできない。BROWSING ロックまたは WRITING ロックを設定した場合、そのスレッド内では他のレベルのロックを入れ子にできない。

書き方 13 の一般規則 (モニター ポインターのアドレス)

  1. MF monitor-pointer-1 は、monitor-pointer-2 が参照するものと同じモニター データ項目を参照するように設定される。

書き方 14 および 15 の一般規則

  1. MF 複数の mutex-pointer-1 を指定した場合、その SET 文を実行した結果は、その中の各 mutex-pointer-1 用にその順番どおりに別々の SET 文を書いて実行した場合と等しい。

書き方 14 の一般規則 (ミューテックス ポインターの値)

  1. MF SET 文を実行すると、mutex-pointer-1 が参照するミューテックスの値が ON または OFF に設定される。
  2. MF ミューテックスが ON に設定されている場合、そのミューテックスを ON に設定しようとする他のスレッドの実行は、そのミューテックスを ON に設定したスレッドでそのミューテックスが OFF に設定されるまで中断される。

書き方 15 の一般規則 (ミューテックス ポインターのアドレス)

  1. MF mutex-pointer-1 は、mutex-pointer-2 が参照するものと同じミューテックス データ項目を参照するように設定される。

書き方 16 および 17 の一般規則

  1. MF 複数の semaphore-pointer-1 を指定した場合、その SET 文を実行した結果は、その中の各 semaphore-pointer-1 用にその順番どおりに別々の SET 文を書いて実行した場合と等しい。

書き方 16 の一般規則 (セマフォ ポインターの値)

  1. MF semaphore-pointer-1 が参照するセマフォ データ項目の内容が、integer-4 の値または identifier-11 が参照するデータ項目に対応する値に対応する値だけ増分 (UP BY) または減分 (DOWN BY) される。その後、semaphore-pointer-1 が反復されるたびにこのプロセスが繰り返される。繰り返しごとに、identifier-11 が参照するデータ項目の値が、文の実行の開始時と同じように使用される。
  2. MF セマフォを n だけ減分 (DOWN BY) する際に、セマフォが n 未満である場合は、そのスレッドは、別のスレッドでセマフォが n 以上に増分されるまで中断される。

書き方 17 の一般規則 (セマフォ ポインターのアドレス)

  1. MF semaphore-pointer-1 は、semaphore-pointer-2 が参照するものと同じセマフォ データ項目を参照するように設定される。

書き方 18 の一般規則 (配列のサイズ)

  1. NETJVM SET 文は、identifier-12 で記述された .NET 配列のサイズを、identifier-13 が参照するデータ項目の内容または integer-5 の値に設定する。

書き方 19 の一般規則 (配列の内容)

  1. NETJVM SET 文は、literal-2 の繰り返しで指定された値を格納するために必要なサイズの .NET 配列を作成し、指定された値に配列を初期化する。

書き方 20 の一般規則 (CONDITION-VALUE 設定)

  1. NETJVM identifier-16 が参照するデータ項目は、identifier-17 が参照するデータ項目の値、条件式 condition-name-3、あるいは TRUE または FALSE に設定される。

書き方 21 の一般規則 (.NET データ設定)

  1. NETJVM identifier-18 および identifier-19 が英数字または各国文字である場合、送信側項目で ToString メソッドが自動的に呼び出され、identifier-18 および identifier-19 が参照するデータ項目に結果の文字列が転記される。ToString メソッドは System.Object で実装されているため任意のクラスで使用できる。
  2. NETJVM 送信側項目は受信側項目に転記される。