Copyright (C) 2000-2012 |
GNU Info (gdb.info)M2 OperatorsOperators ......... 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: * _Integral types_ consist of `INTEGER', `CARDINAL', and their subranges. * _Character types_ consist of `CHAR' and its subranges. * _Floating-point types_ consist of `REAL'. * _Pointer types_ consist of anything declared as `POINTER TO TYPE'. * _Scalar types_ consist of all of the above. * _Set types_ consist of `SET' and `BITSET' types. * _Boolean types_ consist of `BOOLEAN'. 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 (*note Expressions: 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:_ Sets 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. automatically generated by info2www version 1.2.2.9 |