IF 文

IF 文は式をテストし、結果が真であれば指定のアクションを実行します。一般的な形式は次のとおりです。

IF expression
    THEN statement; 
    [ELSE statement];

expression は、ビット文字列のスカラー値に評価される任意の有効な式です。statement は、ラベルのない任意の文 (DECLARE、END、ENTRY、FORMAT、PROCEDURE を除く) か、ラベルのない DO グループまたは BEGIN ブロックです。次に例を示します。

IF A>B
    THEN READ FILE (F) INTO (X);

この例では、IF 文に READ 文が含まれています。式 A>B が真の場合、READ 文が実行されます。

IF 文にはセミコロンは必要ありません。IF 文に含まれる各文にセミコロンが付いているためです。次の例に示すように、IF 文は入れ子にすることができます。

IF A>B
    THEN IF D<C
        THEN READ FILE(F) INTO(X); 
        ELSE STOP;

この例では、2 番目の IF 文に THEN 句と ELSE 句の両方があります。ELSE 句は常に直前の THEN 句に対応します。最初の IF 文には THEN 句しかありません。A ^> B の場合に STOP するには、最も内側の IF に null ELSE 句を指定して、ELSE STOP を最初の IF に関連付けることができます。より望ましい方法では、次の例に示すように、IF、THEN、DO の構造を使用します。

IF A>B THEN DO;
    IF D<C THEN READ FILE(F) INTO (X); 
    END;
ELSE STOP;