HP 3000 Manuals

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