Reading the variable dictionary
The variable dictionary contains six columns of information:
- NAME
- USE
- CLASS
- MAPPING
- DEFINED
- REFERENCED ON STATEMENT NUMBER.
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.