TAL Programmer's Guide

Using Parameters
Using Procedures
11–20 096254 Tandem Computers Incorporated
Using Parameters This subsection gives additional information about declaring, passing, and allocating
parameters of procedures and subprocedures.
For portability to future software platforms, treat formal parameters as spatially
unrelated in memory storage.
Declaring Formal
Parameters
Table 11-3 summarizes the formal parameter characteristics you can declare
depending on the kind of actual parameter your procedure expects.
Table 11-3. Formal Parameter Specification
Formal Parameter Characteristics
Actual Parameter Formal Parameter Parameter Type Indirection Referral
Simple variable Value or reference STRING
*
INT
INT(32)
REAL
REAL(64)
FIXED(n)
FIXED(
*
)
Value, no;
reference,
yes
No
Simple variable Value UNSIGNED No No
Array or
simple pointer
Reference STRING
INT
INT(32)
REAL
REAL(64)
FIXED(n)
Yes No
Definition structure.
referral structure, or
structure pointer
Reference INT or STRING Yes Yes
Definition structure,
*
referral structure, or
structure pointer
Reference STRUCT Yes Yes
Constant expression
**
(including @identifier)
Value STRING
INT
INT(32)
UNSIGNED
REAL
REAL(64)
FIXED(n)
No No
Procedure Value PROC
PROC(32)
***
No No
*
These features are not supported in future software platforms.
**
The data type of the expression and of the formal parameter must match, except that you can
mix the STRING, INT, and UNSIGNED (1–16) data types, and you can mix the INT(32) and
UNSIGNED(17–31) data types.
***
PROC(32) is a D-series feature.