Example 4–4 simple procedure with parameters – Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual
Page 82
Lexical Elements of the DEC Text Processing Utility Language
4.9 Reserved Words
The scope of procedure parameters is limited to the procedure in which they
are defined. The maximum number of parameters in a parameter list is 127.
A procedure can declare its parameters as required or optional. Required
parameters and optional parameters are separated by a semicolon. Parameters
before the semicolon are required parameters; those after the semicolon are
optional. If no semicolon is specified, then the parameters are required.
Syntax
PROCEDURE proc-name [[ ( [[req-param [[...]] ]] [[;opt-param [[...]] ]] ) ]] . . .
ENDPROCEDURE;
A procedure parameter is a place holder or dummy identifier that is replaced by
an actual value in the program that calls the procedure. The value that replaces
a parameter is called an argument. Arguments can be expressions. There does
not have to be any correlation between the names used for parameters and the
values used for arguments. All arguments are passed by reference. Example 4–4
shows a simple procedure with parameters.
Example 4–4 Simple Procedure with Parameters
!This procedure adds two integers. The parameters, int1 and int2,
!are replaced by the actual values that you supply.
!The result of the addition is written to the message area.
PROCEDURE ADD (int1, int2)
MESSAGE (STR (int1 + int2));
ENDPROCEDURE;
For example, call the procedure ADD and specify the values 5 and 6 as
arguments, as follows:
ADD (5, 6);
The string
"
11
"
is written to the message buffer.
Any caller of a procedure must use all required parameters to call it. The caller
can also use optional parameters. If the required parameters are not present
or the procedure is called with too many parameters (more than the sum of the
required and optional parameters), then DECTPU issues an error.
If a procedure is called with the required number of parameters, but with less
than the maximum number of parameters, then the remaining parameters up to
the maximum automatically become ‘‘null parameters.’’ A null parameter is a
modifiable parameter of data type unspecified. A null parameter can be assigned
a value and will become the value it is assigned, but the parameter’s value is
discarded when the procedure exits.
Null parameters can also be explicitly passed to a procedure. You can do this by
omitting a parameter when calling the procedure.
Example 4–5 shows a more complex procedure that uses optional parameters.
4–16 Lexical Elements of the DEC Text Processing Utility Language