8.1 Procedure declaration

A procedure declaration defines an identifier and associates it with a block of code. The procedure can then be called with a procedure statement.

_________________________________________________________________________________________________________ Procedure declaration
-- procedure declaration-procedure header-;- subroutine block ;------------

-- procedure header-procedure---------identifier---------
                           -qualified method identifier|
---formal parameter list|-------------------------------------------
                     -modifiers--

-- subroutine block-------block --------------------------------------
                 -external directive|
                 ----asm block ---|
                 ----forward ----|
___________________________________________________________________

See section 8.3, page 292 for the list of parameters. A procedure declaration that is followed by a block implements the action of the procedure in that block. The following is a valid procedure :

 Procedure DoSomething (Para : String);
 begin
   Writeln ('Got parameter : ',Para);
   Writeln ('Parameter in upper case : ',Upper(Para));
 end;
Note that it is possible that a procedure calls itself.