Reading the variable dictionary

The variable dictionary contains six columns of information:
  • NAME
  • USE
  • CLASS
  • MAPPING
  • DEFINED
  • REFERENCED ON STATEMENT NUMBER.
The NAME column lists the names of all variables used in the STL program.
Note: The name "(WORK VARIABLE)" does not represent an STL variable. It lists internal resources (save areas, counters, and switches) used during the translation. You can use this when you combine STL procedures from different STL programs. For these names, only the MAPPING column contains a value.
The USE column lists how each variable is used by the STL program. Valid values for the USE column are:
BIT Bit variable.
EXECPROC Execute procedure.
INLABEL Onin label.
INT CON Integer constant.
INTEGER Integer variable.
IO LABEL DEACT ALL IO ONS statement.
LABEL Any label that is not a procedure, user table, onin, or onout label.
MSGUTBL User table.
OUTLABEL Onout label.
PROC Procedure.
PROGRAM Trace information and querying of STL statement numbers.
STR CON String constant.
STRING String variable.
? STL cannot determine the type for this variable. See the error messages in the printed listing to correct this.
The CLASS column lists the variable classes associated with each variable name. Valid values for the CLASS column are:
(blank) This variable has no class associated with it.
SHARED This is a shared variable.
UNSHARED This is an unshared variable
? The class of this variable cannot be determined by the STL Translator. See the error messages in the printed listing to correct this.
The MAPPING column lists the name of the associated resource. This can be used to determine the value contained in an STL variable when querying resources during a simulation run. The values in the MAPPING column can be any of the following:
  • Any valid resource or label name. See WSim language statements for information about resource and label names.
  • (NULL STRING), which indicates the null string ('').
  • The first 19 characters of string constants.
  • The integer value for integer constants.
Note: If a PROC, MSGUTBL, or EXECPROC type of variable is referenced, UNRESOLVED may follow the mapping. If this occurs, it means that a procedure was called or executed in the STL program which was not found in the program. This is informational only. It may indicate that you misspelled a procedure name or it can serve as a reminder that you need to translate another program to place that procedure into the MSGDD data set.

The DEFINED column lists the statement number where the variable is defined. BIT, STRING, INTEGER, PROC, EXECPROC, and MSGUTBL statement numbers appear in this column only if they are explicitly defined in your program. IO LABEL statement numbers never appear in this column. PROGRAM statement numbers appear as *PARM* if they are passed as an execution parameter.

The REFERENCED ON STATEMENT NUMBER column lists the statement numbers where the particular variable is referenced.