Next: M2 Constants, Previous: M2 Operators, Up: Modula-2   [Contents][Index]

#### 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.

Next: M2 Constants, Previous: M2 Operators, Up: Modula-2   [Contents][Index]