Conditionally execute one of two statements (alternate)

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
IF condition[ THEN] statement_1
[ELSE statement_2]



An expression whose value controls which statement is executed.


A single or compound statement to be executed if condition is true.


(optional) A single or compound statement to be executed if condition is false.


The IF‑THEN‑ELSE statement (alternate form) executes one of two statements based on the value of an expression.

The result of condition is evaluated for its truth value. If it’s true, ­statement_1 is executed and statement_2 is skipped; if it’s false, statement_1 is skipped and statement_2 is executed (if present).

Statement_1, statement_2, and the THEN and ELSE keywords can each begin on the next logical line.

By default, Synergy DBL requires that an IF statement with a THEN present must also have an ELSE, and the ELSE belongs to the last THEN in the same lexical level. However, if you specify either the alternate IF compiler option or system option #31, Synergy DBL recognizes an alternate, non–ANS ­DIBOL form of the IF statement. In the alternate form of the IF statement, the THEN is optional and the ELSE matches the last IF statement, not the last THEN.

See also


In the following example, if system option #31 or the alternate IF compiler option is set, statement2 is processed when answer is equal to Y and choice is not equal to 1.

if (answer .eq. 'Y') then
  if (choice .eq. 1)