MF 

$IF文

機能

$IF文は原始文の選択した部分を翻訳に含めないようにする機能を提供する。

  1. 言語リファレンス - 追加トピックの章の$IF 文(条件付き翻訳)節に条件付き翻訳の使用例が掲げられている。

一般形式

形式 1

形式 2

形式 3

構文規則

  1. 定数名-1は、レベル78の記述項またはCONSTANTコンパイラ指令によって定義される。

  2. 定数-1が数字である場合、正の整数またはゼロでなければならない。

  3. 指令設定は、$SET文での指定と同じ形式で指定しなければならない。また、NOの後に続いて指定してもよい。ただし、$IF文で使用される形式は、$SETで使用される形式とは以下の点で異なる。

    1. NOと指令名の間には空白を入れてはならない

    2. 指令中のハイフンは、正確に指定しなければならない。

    3. 指令のパラメータは、省略してもよい

  4. 指令設定に対して指定できるのは、構文チェックの段階で使用され、指令設定リスト中に作成される(コンパイラ指令 SETTINGSを参照)指令のみである。

  5. 文全体を1行に収めなければならない。

  6. $IF文は、他の$IF文の中に入れ子にすることができる。

一般規則

  1. レベル78の記述項またはCONSTANTコンパイラ指令の左辺である場合、定数名-2はDEFINEDであり、そうでない場合はNOT DEFINEDである。

  2. 設定が実際の指令設定と一致すると、指令の設定 SETは真と評価される。このとき、パラメータが指定されていれば、これも一致しなければならない。

  3. 指令設定と実際の指令設定の比較においては、大文字と小文字は区別されない。

  4. 条件が真と評価されると、$IF文の後ろに続く原始行が処理される。 条件が偽と評価されると、次の条件付き翻訳行が出て来るまで、COBOL原始行は無視される。