basic_loop_statement ::= [<< label_name >>] LOOP statement [statement]... END LOOP [label_name];
while_loop_statement ::= [<< label_name >>] WHILE boolean_expression LOOP statement [statement]... END LOOP [label_name];
for_loop_statement ::= [<< label_name >>] FOR index_name IN [REVERSE] lower_bound .. upper_bound LOOP statement [statement]... END LOOP [label_name];