The Path Specification [ System Debug Reference Manual ] MPE/iX 5.0 Documentation
System Debug Reference Manual
The Path Specification
Path specifications are used to qualify data structure references to some
desired level of granularity.
Syntax
[ symname : ] typename [ selector...][, variantinfo ]
Parameters
symname A symbolic name assigned to a symbolic data type file in
the SYMOPEN command. This parameter specifies the file
in which typename is to be found. If omitted, the last
symbolic file referenced is used.
typename The name of the data structure to be formatted.
selector The language-specific syntax selectors used to specify
particular components of the data structure identified
by \typename\. Multiple selectors are permitted.
As Pascal is the only supported language at present,
only the following selectors are recognized:
[ index ] Array selector specifies a
component of an array.
.field Record selector specifies a
field within a record.
^ Pointer specifies pointer
dereferencing.
variantinfo A list of variant tag values to be used when formatting
tagless variants, or to override the stored tag field if
alternate variants are to be displayed. Multiple tag
values are specified as a simple list:
vartagvalue [ ,...]
For each variant after the typename [selector]
specification, a vartagvalue can be given to specify the
desired variant. Multiple tag values may be given,
separated by commas, to specify tags for nested
variants. The order of the tags should match the order
of the variants in the type declaration. If tag
value(s) are omitted and the tag is not stored as part
of the data structure, data is formatted according to
the first declared variant.
The variant descriptor can also be used to override
stored tag values for variant records. Normally, the
symbolic formatter uses stored tags to select the
variants to be formatted. However, if the stored tags
are corrupt or the user wishes to have the data
interpreted according to different variants,
vartagvalues may be used to specify the desired
variants.
Variable Substitution
System Debug variables may be used within a path specification. Since
the path specification is itself composed of a string, any variable
substitution must be performed with string variables. In order for a
System Debug variable to be recognized in a path specification, it must
be preceded by an exclamation mark. For example:
$nmdebug > VAR field "ID"
$nmdebug > FT "StudentRecord.!field"
INTEGER
The other area where System Debug variables may be used is in array
subscripts. In fact, array subscripts may consist of any valid System
Debug expression. Exclamation marks are not required to dereference
variables in this case.
$nmdebug > VAR type "StudentRecord"
$nmdebug > VAR field "Grades"
$nmdebug > VAR index 5
$nmdebug > FV data "!type.!field[ index - 1 ]"
42
$nmdebug >
The next two sections contain a variety of examples illustrating the use
of path specifications.
MPE/iX 5.0 Documentation