Next: , Up: Modula-2   [Contents][Index]


15.4.8.1 Operators

Operators must be defined on values of specific types. For instance, + is defined on numbers, but not on structures. Operators are often defined on groups of types. For the purposes of Modula-2, the following definitions hold:

The following operators are supported, and appear in order of increasing precedence:

,

Function argument or array index separator.

:=

Assignment. The value of var := value is value.

<, >

Less than, greater than on integral, floating-point, or enumerated types.

<=, >=

Less than or equal to, greater than or equal to on integral, floating-point and enumerated types, or set inclusion on set types. Same precedence as <.

=, <>, #

Equality and two ways of expressing inequality, valid on scalar types. Same precedence as <. In GDB scripts, only <> is available for inequality, since # conflicts with the script comment character.

IN

Set membership. Defined on set types and the types of their members. Same precedence as <.

OR

Boolean disjunction. Defined on boolean types.

AND, &

Boolean conjunction. Defined on boolean types.

@

The GDB “artificial array” operator (see Expressions).

+, -

Addition and subtraction on integral and floating-point types, or union and difference on set types.

*

Multiplication on integral and floating-point types, or set intersection on set types.

/

Division on floating-point types, or symmetric set difference on set types. Same precedence as *.

DIV, MOD

Integer division and remainder. Defined on integral types. Same precedence as *.

-

Negative. Defined on INTEGER and REAL data.

^

Pointer dereferencing. Defined on pointer types.

NOT

Boolean negation. Defined on boolean types. Same precedence as ^.

.

RECORD field selector. Defined on RECORD data. Same precedence as ^.

[]

Array indexing. Defined on ARRAY data. Same precedence as ^.

()

Procedure argument list. Defined on PROCEDURE objects. Same precedence as ^.

::, .

GDB and Modula-2 scope operators.

Warning: Set expressions and their operations are not yet supported, so GDB treats the use of the operator IN, or the use of operators +, -, *, /, =, , <>, #, <=, and >= on sets as an error.


Next: , Up: Modula-2   [Contents][Index]