15.4.9.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). The argument x must be of an
ordered type, which include integral, character and enumerated types.
SIZE(
x)
- Returns the size of its argument. The 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. The 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.