subprogram_specification ::=
procedure
identifier [formal_part]
| function
designator [formal_part] return
type_mark
(parameter_specification {; parameter_specification})
identifier_list : mode type_mark [:= expression]
in
] | in out
| out
in
is assumed. If a parameter specification ends with an expression, the expression is the default expression of the formal parameter. A default expression is only allowed in a parameter specification if the mode is in
(whether this mode is indicated explicitly or implicitly). The type of a default expression must be that of the corresponding formal parameter.
procedure
TRAVERSE_TREE;
procedure
INCREMENT(X : in out
INTEGER);
procedure
RIGHT_INDENT(MARGIN : out
LINE_SIZE); -- see 3.5.4
procedure
SWITCH(FROM, TO : in out
LINK); -- see 3.8.1
function
RANDOM return
PROBABILITY; -- see 3.5.7
function
MIN_CELL(X : LINK) return
CELL; -- see 3.8.1
function
NEXT_FRAME(K : POSITIVE) return
FRAME; -- see 3.8
function
DOT_PRODUCT(LEFT,RIGHT: VECTOR) return
REAL; -- see 3.6
function
"*"(LEFT,RIGHT : MATRIX) return
MATRIX; -- see 3.6
procedure
PRINT_HEADER(PAGES : in
NATURAL;
HEADER : in
LINE :=
(1 .. LINE'LAST => ` `); -- see 3.6
CENTER : in
BOOLEAN := TRUE);