%start/%finish blocks

The general form is %if cond 1 %then %start : : %finish %else %if cond 2 %then %start : : : %finish %else %if cond n %then %start : : %finish %else %start : : %finish
Notes * Every %start matches with the next occurring %finish. If they enclose only one statement then they can be replaced by that statement. Example: %if cond 3 %then %start statement %finish %else %if ....... can be expressed as %if cond 3 %then statement %else %if ...... * %then %start can be replaced by %start * %if can be replaced by %unless, the effect being to negate the condition following.
* Any of the statements starting "%finish %else" in the general form can be omitted, including the last one. * If the condition controlling a %start/%finish block can be determined at compile-time then the IMP80 compiler may do so, and will not generate code for any statements that cannot logically be executed. This is known as "conditional compilation".