beautypg.com

4 identifiers, 5 variables, Example 4–1 global and local variable declarations – Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual

Page 71

background image

Lexical Elements of the DEC Text Processing Utility Language

4.4 Identifiers

4.4 Identifiers

In DECTPU, identifiers are used to name programs, procedures, keywords, and
variables. An identifier is a combination of alphabetic characters, digits, dollar
signs, and underscores, and it must conform to the following restrictions:

An identifier cannot contain any spaces or symbols except the dollar sign and
the underscore.

Identifiers cannot be more than 132 characters long.

DECTPU identifiers for built-in procedures, constants, keywords, and global
variables are reserved words.

You can create your own identifiers to name programs, procedures, constants,
and variables. Any symbol that is neither declared nor used as the target of an
assignment statement is assumed to be an undefined procedure.

4.5 Variables

Variables are names given to DECTPU storage locations that hold values.

A variable name can be any valid DECTPU identifier that is not a DECTPU
reserved word or the name of a DECTPU procedure. You assign a value to
a variable by using a valid identifier as the left-hand side of an assignment
statement. Following is an example of a variable assignment:

new_buffer := CREATE_BUFFER ("new_buffer_name");

Compaq suggests that you establish some convention for naming variables so that
you can distinguish your variables from the variables in the section file that you
are using.

DECTPU allows two kinds of variables: global and local. Global variables are in
effect throughout a DECTPU environment. Local variables are evaluated only
within the procedure or unbound code in which they are declared. A variable is
implicitly global unless you use the LOCAL declaration. You can also declare
global variables with the VARIABLE declaration.

Example 4–1 shows a global variable declaration and a procedure that contains a
local variable declaration.

Example 4–1 Global and Local Variable Declarations

VARIABLE user_tab_char;

! Tab key procedure.

Always inserts a tab, even if current mode

! is overstrike.

PROCEDURE user_tab

LOCAL this_mode;

! Local variable for current mode

this_mode := GET_INFO (CURRENT_BUFFER, "mode"); ! Save current mode
SET (INSERT, CURRENT_BUFFER);

! Set mode to insert

user_tab_char := ASCII (9);

! Define the tab char

COPY_TEXT (user_tab_char);

! Insert tab

SET (this_mode, CURRENT_BUFFER);

! Reset original mode

ENDPROCEDURE;

Lexical Elements of the DEC Text Processing Utility Language 4–5