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;