beautypg.com

12 unspecified data type – Compaq DEC Text Processing Utility AA-PWCBD-TE User Manual

Page 61

background image

DEC Text Processing Utility Data Types

3.11 String Data Type

The maximum length for a string is 65,535 characters. A restriction of the
DECTPU compiler is that a string constant (an open quotation mark, some
characters, and a close quotation mark) must have both its opening and closing
quotation marks on the same line. While a string can be up to 65,535 characters
long, a line in a DECTPU buffer can only be 32767 characters long. If you try
to create a line that is longer than 32767 characters, DECTPU truncates the
inserted text to the amount that fills the line to 32767 characters.

Many DECTPU built-in procedures return a value of the string data type. The
ASCII built-in procedure, for example, returns a string for the ordinal value that
you use as a parameter. The following statement returns the string

"

K

"

in the

variable my_char:

my_char := ASCII (75);

To replicate a string, specify the string to be reproduced, then the multiplication
operator ( * ), and then the number of times you want the string to be replicated.
For example, the following DECTPU statement inserts 10 underscores into the
current buffer at the editing point:

COPY_TEXT ("_" * 10)

The string to be replicated must be on the left-hand side of the operator. For
example, the following DECTPU statement produces an error:

COPY_TEXT (10 * "_")

To reduce a string, specify the string to be modified, then the subtraction operator
(), and then the substring to be removed. Table 3–2 shows the effects of two
string-reduction operations.

Table 3–2 Effects of Two String-Reduction Operations

DECTPU Statement

Result

COPY_TEXT (

"

FILENAME.MEM

"

"

FILE

"

)

Inserts the string

"

NAME.MEM

"

into

the current buffer at the editing point.

COPY_TEXT (

"

woolly

"

"

wool

"

)

Inserts the string

"

ly

"

into the current

buffer at the editing point.

3.12 Unspecified Data Type

An unspecified value is the initial value of a variable after it has been compiled
(added to the DECTPU symbol table). In the following example, the COMPILE
built-in procedure creates the variable x and initially gives it the data type
unspecified unless x has previously been declared as a global variable:

COMPILE ("x := 1");

An assignment statement that creates a variable must be executed before a data
type is assigned to the variable. In the following example, when you use the
EXECUTE built-in procedure to run the program that is stored in the variable
prog, the variable x is assigned an integer value:

prog := COMPILE ("x := 1");
EXECUTE (prog);

DEC Text Processing Utility Data Types 3–21