IF 指令は、一方向または双方向の条件付きコンパイルを提供します。
注: このセクションでは、コンパイラ指令文 DEFINE、EVALUATE、および IF は、ISO2002用語の指令を使用して言及されます。DEFINE コンパイラ オプションに言及する際は、そのように明示的に言及されます。
一般形式
構文規則
- キーワード >>IF、>>ELSE、および >>END-IF は、領域 A または領域 B のいずれかの新しい行で開始する必要があり、また、その行にすべて収まるように指定する必要があります。
- 識別子 text-1 および text-2:
- 新しい行で開始する必要があり、複数行の構成が可能です。
- コンパイラ指令を含むあらゆる種類のソース行が対象となりえます。
- COPY 文を含めることができます。
- 特定の IF 指令の指定は、すべてを同じライブラリ テキストで、またはすべてをソース テキストで指定する必要があります。この規則の目的上、text-1 および text-2 は IF 指令の指定とは見なされません。text-1 または text-2
で指定された入れ子の IF 指令は、新しい IF 指令と見なされます。
一般規則
- text-1 および text-2 は、IF コンパイラ指令行の一部ではありません。
- 真と評価される分岐内のテキストは、COPY 文および REPLACE 文の照合規則および置換規則の対象となります。
- constant-conditional-expression-1 が TRUE と評価された場合、text-1 のすべての行が結果のテキストに含まれます。text-2 のすべての行は除外されます。
- constant-conditional-expression-1 が FALSE と評価された場合、text-2 のすべての行が結果テキストに含まれます。text-1 のすべての行は除外されます。