A loop statement specifies the repeated execution of a statement sequence. It is terminated by the execution of any exit statement within that sequence.
LoopStatement = LOOP StatementSequence END.
LOOP IF t1^.key > x THEN t2 := t1^.left; p:= TRUE ELSE t2 := t1^.right; p:= FALSE END; IF t2 = NIL THEN EXIT END; t1=t2 END
While, repeat, and for statements can be expressed by loop statements containing a single exit statement. Their use is recommended as they characterize the most frequently occurring situations where termination depends either on a single condition at either the beginning or end of the repeated statement sequence, or on reaching the limit of an arithmetic progression. The loop statement is, however, necessary to express the continuous repetition of cyclic processes, where no termination is specified. It is also useful to express situations exemplified above. Exit statements are contextually, although not syntactically bound to the loop statement which contains them.