Lexical Elements of the DEC Text Processing Utility Language
4.9 Reserved Words
4.9.4.2 Procedure Declaration
The PROCEDURE/ENDPROCEDURE declaration delimits a series of DECTPU
statements so they can be called as a unit. With the PROCEDURE/
ENDPROCEDURE combination, you can declare a procedure with a name so
that you can call it from another procedure or from the command line of a
DECTPU editing interface. Once you have compiled a procedure, you can enter
the procedure name as a statement in another procedure, or enter the procedure
name after the TPU Statement: prompt on the command line of EVE.
Syntax
PROCEDURE procedure-name [[ (parameter-list) ]] [[local-declarations]]
[[ON_ERROR ... ENDON_ERROR]] statement_1; statement_2; . . . statement_n;
ENDPROCEDURE;
The local declarations part of a procedure can include any number of LOCAL and
CONSTANT declarations.
The ON_ERROR/ENDON_ERROR block, if used, must appear after the
declarations and before the DECTPU statements that make up the body of
the procedure. For more information on error handlers, see Section 4.9.4.14.
After the ON_ERROR/ENDON_ERROR block, you can use any kind of
DECTPU language statements in the body of a procedure except another
ON_ERROR/ENDON_ERROR block. Statements that make up the body of a
procedure must be separated with semicolons. For example:
PROCEDURE version
MESSAGE ("This is Version 1-020");
ENDPROCEDURE;
This procedure writes the text "This is Version 1–020" in the message area.
4.9.4.3 Procedure Names
A procedure name can be any valid identifier that is not a DECTPU reserved
word. Compaq suggests that you use a convention when naming your procedures.
For instance, you might prefix procedure names with your initials. In this way,
you can easily distinguish procedures that you write from other procedures
such as the DECTPU built-in procedures. For example, if John Smith writes
a procedure that creates two windows, he might name his procedure js_two_
windows. This helps ensure that his procedure name is a unique name. Most
of the sample procedures in this manual have the prefix user_ with procedure
names.
4.9.4.4 Procedure Parameters
Using parameters with procedures is optional. If you use parameters, they can be
input parameters, output parameters, or both. For example:
PROCEDURE user_input_output (a, b)
a:=a+5;
b:=a;
ENDPROCEDURE;
In the preceding procedure, a is an input parameter. It is also an output
parameter because it is modified by the procedure input_output. In the same
procedure, b is an output parameter.
Lexical Elements of the DEC Text Processing Utility Language 4–15