13.4.5.2 Built-in Functions and Procedures
Modula-2 also makes available several built-in procedures and functions.
In describing these, the following metavariables are used:
- a
- represents an
ARRAY variable.
- c
- represents a
CHAR constant or variable.
- i
- represents a variable or constant of integral type.
- m
- represents an identifier that belongs to a set. Generally used in the
same function with the metavariable s. The type of s should
be
SET OF mtype (where mtype is the type of m).
- n
- represents a variable or constant of integral or floating-point type.
- r
- represents a variable or constant of floating-point type.
- t
- represents a type.
- v
- represents a variable.
- x
- represents a variable or constant of one of many types. See the
explanation of the function for details.
All Modula-2 built-in procedures also return a result, described below.
ABS(n)- Returns the absolute value of n.
CAP(c)- If c is a lower case letter, it returns its upper case
equivalent, otherwise it returns its argument.
CHR(i)- Returns the character whose ordinal value is i.
DEC(v)- Decrements the value in the variable v by one. Returns the new value.
DEC(v,i)- Decrements the value in the variable v by i. Returns the
new value.
EXCL(m,s)- Removes the element m from the set s. Returns the new
set.
FLOAT(i)- Returns the floating point equivalent of the integer i.
HIGH(a)- Returns the index of the last member of a.
INC(v)- Increments the value in the variable v by one. Returns the new value.
INC(v,i)- Increments the value in the variable v by i. Returns the
new value.
INCL(m,s)- Adds the element m to the set s if it is not already
there. Returns the new set.
MAX(t)- Returns the maximum value of the type t.
MIN(t)- Returns the minimum value of the type t.
ODD(i)- Returns boolean TRUE if i is an odd number.
ORD(x)- Returns the ordinal value of its argument. For example, the ordinal
value of a character is its ascii value (on machines supporting the
ascii character set). x must be of an ordered type, which include
integral, character and enumerated types.
SIZE(x)- Returns the size of its argument. x can be a variable or a type.
TRUNC(r)- Returns the integral part of r.
TSIZE(x)- Returns the size of its argument. x can be a variable or a type.
VAL(t,i)- Returns the member of the type t whose ordinal value is i.
Warning: Sets and their operations are not yet supported, so
gdb treats the use of procedures INCL and EXCL as
an error.