[loop_statement_identifier:]
[iteration_scheme] loop
sequence_of_statements
end loop [loop_identifier];
| for loop_parameter_specification
defining_identifier in [reverse] discrete_subtype_definition
for J in 0 .. 1
Get(Current_Character);
exit when Current_Character = '*';
end loop;
Record_Bid(Bid(N).Price);
N := N + 1;
end loop;
if Buffer(J) /= Space then
Put(Buffer(J));
end if;
end loop;
while Next /= Head loop --see 3.10.1
Sum := Sum + Next.Value;
Next := Next.Succ;
end loop Summation;