14.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- headehrint-pdiroreccetdivuerse-dotted- identifier-formal-parameter- list--------
   -modifiers--|

--             -|-----    --------------------------------------
  subroutine- block  |-    block     -|
                |-extearnsaml-- dbirloecctkive-|
                |----forward-----|
___________________________________________________________________

See section 14.4, page 764 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.