IF / ELSE / ENDIF Constructs
The IF, ELSE and ENDIF constructs allow different control cards to be used under certain conditions.
The syntax requirements of IF / ELSE / ENDIF constructs are as follows:
- The
!!
characters must be in the first two columns of the line. This is followed by an arbitrary number of spaces, the keyword IF, the expression to be evaluated and the keyword THEN.Note: Keywords are case insensitive, for example, “Then” or “then” are also valid - The block is terminated by a line of the form
!!ENDIF
(again spaces are allowed between!!
and ENDIF but not before the!!
). - An optional line of the form
!!ELSE
(the!!
must be in the first two columns and spaces are allowed before the keyword, which is not case sensitive). - All instructions and input cards between
!!IF
and!!ENDIF
(or!!ELSE
if it is present) are processed if the expression is TRUE. If it is present, all lines between!!ELSE
and!!ENDIF
are processed if the expression is FALSE.As an example:
Another example is as follows:!!if #a > 5 then ... !!endif
#l = (#a+5 > 21) and (#a < 100) !!if ( (3*#a+5 >= #x/2) and not(#l) ) then ... !!else !! if (sin(#x/10) > 0.5) then ... !! else ... !! endif !!endif