procedure heading

The procedure-heading of a procedure diagram diagram has this format:

<procedure heading> ::=

[ < virtuality > ] [<export-as> ] procedure <procedure-name>
[ < virtuality-constraint > ] [ < specialisation > ]
[ <procedure-formal-parameters> ]
[ <result> ]

<procedure-formal-parameters> defines the formal parameters of the procedure and have the format:

<procedure-formal-parameters> ::=
fpar [ in`/`out | in ] <typed-parameters>
{, [ in`/`out | in ] <typed-parameters> }*

where <typed-parameters> have the format

<typed-parameters> ::
<variable-name> {`,` <variable-name>}\* <data-type-identifier>

<typed-parameters> is a list of parameter names followed by a data type name.

<result> has the format:

<result> ::= returns [ <variable-name> ] <data-type-identifier>

where <data-type-identifier> gives the data type of the value returned by the procedure. The optional <variable-name> can be used to name the result. The result can either be stated as an expression next to the return symbol, or as an assignment in a task to the variable introduced in result.