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

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`

(where`mtype``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]