HPlogo System Debug Reference Manual > Chapter 10 System Debug Standard Functions

func symval

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

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.




func symtype


func sys