HP 3000 Manuals

func bound [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

func bound 

Checks for an existing definition of an operand and returns its
definition type.

Syntax 

      bound (operand)

The BOUND function uses the name in operand to check for an existing
definition for that name.  The type of the definition is returned in a
string.  The following table lists all possible types:

NUMBER               A valid numeric expression (in current input base)
ENV                  A predefined environment variable
VAR                  A user defined variable
FUNC                 A predefined function
MACRO                A user defined macro
PROCEDURE            A valid procedure name (in current mode)

ALIAS                An alias definition
COMMAND              A command name
WINDOW_COMMAND       A window command name
UNDEFINED            No definition is currently bound

The table is searched in order from top to bottom.  The first type which
matches is returned.  Additional matches may be possible but are not
tested.

Formal Declaration 

     bound:str (operand:str)

Parameters 

operand          A string expression naming the operand for which the
                 definition type is returned.

Examples 

     $nmdebug > if bound('list') <> 'VAR' then var list slowbuildlist('ALL') 

BOUND is often used to determine if a particular variable has been
defined.  In this example, which might typically be found in a macro,
BOUND is used to test for the prior definition of the variable named
"list".  If the variable has not yet been defined, then it is created and
assigned the return value from the macro named slowbuildlist.

     $nmdebug > wl bound('123') 
     NUMBER
     $nmdebug > wl bound('add') 
     NUMBER

123 and ADD are both numbers (in the current input base).

     $nmdebug > wl bound('s') 
     ENV

S is an environment variable (the CM S register).  Note that S is also a
command name (Single Step), but only the first match is returned.

     $nmdebug > wl bound('BOUND') 
     FUNC

BOUND is a function (in fact, the one this page is describing).

     $nmdebug > wl bound('slowbuildlist') 
     MACRO

SLOWBUILDLIST is a user defined macro.

     $nmdebug > wl bound('12w') 
     UNDEFINED

12w is undefined.  No existing definition for 12w could be located.

Limitations, Restrictions 

none



MPE/iX 5.0 Documentation