HPlogo System Debug Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 8 System Debug Standard Functions

func symval

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Returns the value of a simple data type specified by a virtual address and a path.

Syntax

   symval (virtaddr pathspec)  

Formal Declaration

   symval:any (virtaddr:ptr pathspec:str)

Parameters

virtaddr

The virtual address of the data structure.

Virtaddr can be a short pointer, a long pointer, or a full logical code pointer.

pathspec

A path specification, as described in chapter 5, "Symbolic Formatting/Symbolic Access."

Examples

   $nmdebug > symopen gradtyp.demo

Opens the symbolic data type file gradtyp.demo. It is assumed that the Debug variable addr contains the address of a StudentRecord data structure in virtual memory. The following code fragment is from this file:

   CONST     MINGRADES   = 1;     MAXGRADES   = 10;

             MINSTUDENTS = 1;     MAXSTUDENTS = 5;



   TYPE

      GradeRange    = MINGRADES .. MAXGRADES;

      GradesArray   = ARRAY [ GradeRange ] OF integer;



      Class         = ( SENIOR, JUNIOR, SOPHOMORE, FRESHMAN );

      NameStr       = string[8];



      StudentRecord = RECORD

                        Name      : NameStr;

                        Id        : Integer;

                        Year      : Class;

                        NumGrades : GradeRange;

                        Grades    : GradesArray;

                      END;
   $nmdebug > wl symval(addr "StudentRecord.Name")

   Bill



   $nmdebug > wl symval(addr, "StudentRecord.Year")

   SENIOR



   $nmdebug > IF symval(addr "StudentRecord.Year") = "SENIOR" THEN wl "GRAD!"

   GRAD!

Refer to the section "Using the Symbolic Formatter" in chapter 5 for more examples including pointers, arrays, and variant/invariant record structures.

Limitations, Restrictions

The path specification used by the SYMVAL function must evaluate to a simple type or a string. In particular, SYMVAL does not return an array, a record, or a set data structure.

Feedback to webmaster