procedure procedure_identifier;
declaration_part
begin
statement_part
end;
or with a parameter list:
procedure procedure_identifier (parameter_list);
declaration_part
begin
statement_part
end;
A procedure is quite like a sub-program: The declaration_part consists of label, constant, type, variable or subroutine declarations in free order. The statement_part consists of a sequence of statements. If parameter_list is specified, parameters can be passed to the procedure and can be used in statement_part. A recursive procedure call is allowed.