Next: Binary Operators Precedence Table, Previous: The Prefix Unary Operators, Up: Operators [Index]

- the ‘
`+`’ addition operators- -
`cardinal`(`cardinal`‘`+`’`cardinal`) - -
`cardinal`(`cardinal`‘`+`’`integer`) - -
`real`(`cardinal`‘`+`’`real`) - -
`cardinal`(`integer`‘`+`’`cardinal`) - -
`integer`(`integer`‘`+`’`integer`) - -
`real`(`integer`‘`+`’`real`) - -
`real`(`real`‘`+`’`cardinal`) - -
`real`(`real`‘`+`’`integer`) - -
`real`(`real`‘`+`’`real`)

The ‘

`+`’ operators evaluate to the sum of their operands. - -
- the ‘
`&&`’ logical AND operators- -
`integer`(`cardinal`‘`&&`’`cardinal`) - -
`integer`(`cardinal`‘`&&`’`integer`) - -
`integer`(`cardinal`‘`&&`’`real`) - -
`integer`(`integer`‘`&&`’`cardinal`) - -
`integer`(`integer`‘`&&`’`integer`) - -
`integer`(`integer`‘`&&`’`real`) - -
`integer`(`real`‘`&&`’`cardinal`) - -
`integer`(`real`‘`&&`’`integer`) - -
`integer`(`real`‘`&&`’`real`)

The ‘

`&&`’ operators evaluate to true (non zero) if both their operands are true (non zero), to false (zero) otherwise. - -
- the ‘
`||`’ logical OR operators- -
`integer`(`cardinal`‘`||`’`cardinal`) - -
`integer`(`cardinal`‘`||`’`integer`) - -
`integer`(`cardinal`‘`||`’`real`) - -
`integer`(`integer`‘`||`’`cardinal`) - -
`integer`(`integer`‘`||`’`integer`) - -
`integer`(`integer`‘`||`’`real`) - -
`integer`(`real`‘`||`’`cardinal`) - -
`integer`(`real`‘`||`’`integer`) - -
`integer`(`real`‘`||`’`real`)

The ‘

`||`’ operators evaluate to true (non zero) if one or both their operands are true (non zero), to false (zero) otherwise. - -
- the ‘
`/`’ division operators- -
`cardinal`(`cardinal`‘`/`’`cardinal`) - -
`cardinal`(`cardinal`‘`/`’`integer`) - -
`real`(`cardinal`‘`/`’`real`) - -
`cardinal`(`integer`‘`/`’`cardinal`) - -
`integer`(`integer`‘`/`’`integer`) - -
`real`(`integer`‘`/`’`real`) - -
`real`(`real`‘`/`’`cardinal`) - -
`real`(`real`‘`/`’`integer`) - -
`real`(`real`‘`/`’`real`)

The ‘

`/`’ operators evaluate to the quotient of their operands division. - -
- the ‘
`==`’ equality test operators- -
`integer`(`cardinal`‘`==`’`cardinal`) - -
`integer`(`cardinal`‘`==`’`integer`) - -
`integer`(`cardinal`‘`==`’`real`) - -
`integer`(`integer`‘`==`’`cardinal`) - -
`integer`(`integer`‘`==`’`integer`) - -
`integer`(`integer`‘`==`’`real`) - -
`integer`(`real`‘`==`’`cardinal`) - -
`integer`(`real`‘`==`’`integer`) - -
`integer`(`real`‘`==`’`real`) - -
`integer`(`text`‘`==`’`text`)

The ‘

`==`’ operators evaluate to true (non zero) if their operands match (are equal), to false (zero) otherwise. - -
- the ‘
`>=`’ greater or equal test operators- -
`integer`(`cardinal`‘`>=`’`cardinal`) - -
`integer`(`cardinal`‘`>=`’`integer`) - -
`integer`(`cardinal`‘`>=`’`real`) - -
`integer`(`integer`‘`>=`’`cardinal`) - -
`integer`(`integer`‘`>=`’`integer`) - -
`integer`(`integer`‘`>=`’`real`) - -
`integer`(`real`‘`>=`’`cardinal`) - -
`integer`(`real`‘`>=`’`integer`) - -
`integer`(`real`‘`>=`’`real`) - -
`integer`(`text`‘`>=`’`text`)

The ‘

`>=`’ operators evaluate to true (non zero) if their first operand is greater or equal to their second operand, to false (zero) otherwise. - -
- the ‘
`>`’ greater test operators- -
`integer`(`cardinal`‘`>`’`cardinal`) - -
`integer`(`cardinal`‘`>`’`integer`) - -
`integer`(`cardinal`‘`>`’`real`) - -
`integer`(`integer`‘`>`’`cardinal`) - -
`integer`(`integer`‘`>`’`integer`) - -
`integer`(`integer`‘`>`’`real`) - -
`integer`(`real`‘`>`’`cardinal`) - -
`integer`(`real`‘`>`’`integer`) - -
`integer`(`real`‘`>`’`real`) - -
`integer`(`text`‘`>`’`text`)

The ‘

`>`’ operators evaluate to true (non zero) if their first operand is greater than their second operand, to false (zero) otherwise. - -
- the ‘
`<<`’ left shift operators- -
`cardinal`(`cardinal`‘`<<`’`cardinal`) - -
`cardinal`(`cardinal`‘`<<`’`integer`) - -
`integer`(`integer`‘`<<`’`cardinal`) - -
`integer`(`integer`‘`<<`’`integer`)

The ‘

`<<`’ operators evaluate to the value of their first operand left shifted by the number of positions indicated by their second operand. The shift is a bitwise shift. - -
- the ‘
`<=`’ less or equal test operators- -
`integer`(`cardinal`‘`<=`’`cardinal`) - -
`integer`(`cardinal`‘`<=`’`integer`) - -
`integer`(`cardinal`‘`<=`’`real`) - -
`integer`(`integer`‘`<=`’`cardinal`) - -
`integer`(`integer`‘`<=`’`integer`) - -
`integer`(`integer`‘`<=`’`real`) - -
`integer`(`real`‘`<=`’`cardinal`) - -
`integer`(`real`‘`<=`’`integer`) - -
`integer`(`real`‘`<=`’`real`) - -
`integer`(`text`‘`<=`’`text`)

The ‘

`<=`’ operators evaluate to true (non zero) if their first operand is less or equal to their second operand, to false (zero) otherwise. - -
- the ‘
`<`’ less test operators- -
`integer`(`cardinal`‘`<`’`cardinal`) - -
`integer`(`cardinal`‘`<`’`integer`) - -
`integer`(`cardinal`‘`<`’`real`) - -
`integer`(`integer`‘`<`’`cardinal`) - -
`integer`(`integer`‘`<`’`integer`) - -
`integer`(`integer`‘`<`’`real`) - -
`integer`(`real`‘`<`’`cardinal`) - -
`integer`(`real`‘`<`’`integer`) - -
`integer`(`real`‘`<`’`real`) - -
`integer`(`text`‘`<`’`text`)

The ‘

`<`’ operators evaluate to true (non zero) if their first operand is less than their second operand, to false (zero) otherwise. - -
- the ‘
`*`’ multiplication operators- -
`cardinal`(`cardinal`‘`*`’`cardinal`) - -
`cardinal`(`cardinal`‘`*`’`integer`) - -
`real`(`cardinal`‘`*`’`real`) - -
`cardinal`(`integer`‘`*`’`cardinal`) - -
`integer`(`integer`‘`*`’`integer`) - -
`real`(`integer`‘`*`’`real`) - -
`real`(`real`‘`*`’`cardinal`) - -
`real`(`real`‘`*`’`integer`) - -
`real`(`real`‘`*`’`real`)

The ‘

`*`’ operators evaluate to the product of their operands. - -
- the ‘
`%`’ modulus operators- -
`cardinal`(`cardinal`‘`%`’`cardinal`) - -
`cardinal`(`cardinal`‘`%`’`integer`) - -
`cardinal`(`integer`‘`%`’`cardinal`) - -
`integer`(`integer`‘`%`’`integer`)

The ‘

`%`’ operators evaluate to the remainder of the integral division of their operands. - -
- the ‘
`-`’ subtraction operators- -
`cardinal`(`cardinal`‘`-`’`cardinal`) - -
`cardinal`(`cardinal`‘`-`’`integer`) - -
`real`(`cardinal`‘`-`’`real`) - -
`cardinal`(`integer`‘`-`’`cardinal`) - -
`integer`(`integer`‘`-`’`integer`) - -
`real`(`integer`‘`-`’`real`) - -
`real`(`real`‘`-`’`cardinal`) - -
`real`(`real`‘`-`’`integer`) - -
`real`(`real`‘`-`’`real`)

The ‘

`-`’ operators evaluate to the difference of their operands. - -
- the ‘
`>>`’ right shift operators- -
`cardinal`(`cardinal`‘`>>`’`cardinal`) - -
`cardinal`(`cardinal`‘`>>`’`integer`) - -
`integer`(`integer`‘`>>`’`cardinal`) - -
`integer`(`integer`‘`>>`’`integer`)

The ‘

`>>`’ operators evaluate to the value of their first operand right shifted by the number of positions indicated by their second operand. The shift is a bitwise shift. - -
- the ‘
`!=`’ inequality test operators- -
`integer`(`cardinal`‘`!=`’`cardinal`) - -
`integer`(`cardinal`‘`!=`’`integer`) - -
`integer`(`cardinal`‘`!=`’`real`) - -
`integer`(`integer`‘`!=`’`cardinal`) - -
`integer`(`integer`‘`!=`’`integer`) - -
`integer`(`integer`‘`!=`’`real`) - -
`integer`(`real`‘`!=`’`cardinal`) - -
`integer`(`real`‘`!=`’`integer`) - -
`integer`(`real`‘`!=`’`real`) - -
`integer`(`text`‘`!=`’`text`)

The ‘

`!=`’ operators evaluate to true (non zero) if their operands do not match (are not equal), to false (zero) otherwise. - -
- the ‘
`&`’ bitwise AND operators- -
`cardinal`(`cardinal`‘`&`’`cardinal`) - -
`cardinal`(`cardinal`‘`&`’`integer`) - -
`cardinal`(`integer`‘`&`’`cardinal`) - -
`integer`(`integer`‘`&`’`integer`)

The ‘

`&`’ operators evaluate to the bitwise ANDing of their operands. - -
- the ‘
`^`’ bitwise XOR operators- -
`cardinal`(`cardinal`‘`^`’`cardinal`) - -
`cardinal`(`cardinal`‘`^`’`integer`) - -
`cardinal`(`integer`‘`^`’`cardinal`) - -
`integer`(`integer`‘`^`’`integer`)

The ‘

`^`’ operators evaluate to the bitwise XORing of their operands. - -
- the ‘
`|`’ bitwise OR operators- -
`cardinal`(`cardinal`‘`|`’`cardinal`) - -
`cardinal`(`cardinal`‘`|`’`integer`) - -
`cardinal`(`integer`‘`|`’`cardinal`) - -
`integer`(`integer`‘`|`’`integer`)

The ‘

`|`’ operators evaluate to the bitwise ORind of their operands. - -
- the ‘
`=`’ intrinsic type assignment operators- -
`cardinal`(`cardinal`‘`=`’`cardinal`) - -
`cardinal`(`cardinal`‘`=`’`integer`) - -
`cardinal`(`cardinal`‘`=`’`real`) - -
`integer`(`integer`‘`=`’`cardinal`) - -
`integer`(`integer`‘`=`’`integer`) - -
`integer`(`integer`‘`=`’`real`) - -
`real`(`real`‘`=`’`cardinal`) - -
`real`(`real`‘`=`’`integer`) - -
`real`(`real`‘`=`’`real`) - -
`text`(`text`‘`=`’`text`)

- -
- the ‘
`=`’ symmetric non intrinsic type assignment operators- -
`data`(`data`‘`=`’`data`) - -
`date`(`date`‘`=`’`date`) - -
`decq`(`decq`‘`=`’`decq`) - -
`file`(`file`‘`=`’`file`) - -
`list`(`list`‘`=`’`list`) - -
`record`(`record`‘`=`’`record`) - -
`sshell`(`sshell`‘`=`’`sshell`) - -
`time`(`time`‘`=`’`time`) - -
`xshell`(`xshell`‘`=`’`xshell`) - -
`dispatch`(`dispatch`‘`=`’`dispatch`) - - <function pointer type> (<function pointer type> ‘
`=`’ <function pointer type>)

- -
- the ‘
`=`’ asymmetric non intrinsic type assignment operators- -
`data`(`data`‘`=`’`text`)

- -
- the ‘
`=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`=`’`object`) - -
`integer`(`integer`‘`=`’`object`) - -
`real`(`real`‘`=`’`object`) - -
`text`(`text`‘`=`’`object`) - -
`data`(`data`‘`=`’`object`) - -
`date`(`date`‘`=`’`object`) - -
`decq`(`decq`‘`=`’`object`) - -
`file`(`file`‘`=`’`object`) - -
`list`(`list`‘`=`’`object`) - -
`record`(`record`‘`=`’`object`) - -
`sshell`(`sshell`‘`=`’`object`) - -
`time`(`time`‘`=`’`object`) - -
`xshell`(`xshell`‘`=`’`object`) - -
`dispatch`(`dispatch`‘`=`’`object`) - - <function pointer type> (<function pointer type> ‘
`=`’`object`)

The ‘

`=`’ operators evaluate to the value of their second operand, to which their first operand is also set.Symmetric operators with operands of referable types set their first operand as a reference of the object indicated by their second operand.

- -
- the ‘
`+=`’ addition assignment operators- -
`cardinal`(`cardinal`‘`+=`’`cardinal`) - -
`cardinal`(`cardinal`‘`+=`’`integer`) - -
`cardinal`(`cardinal`‘`+=`’`real`) - -
`integer`(`integer`‘`+=`’`cardinal`) - -
`integer`(`integer`‘`+=`’`integer`) - -
`integer`(`integer`‘`+=`’`real`) - -
`real`(`real`‘`+=`’`cardinal`) - -
`real`(`real`‘`+=`’`integer`) - -
`real`(`real`‘`+=`’`real`)

- -
- the ‘
`+=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`+=`’`object`) - -
`integer`(`integer`‘`+=`’`object`) - -
`real`(`real`‘`+=`’`object`)

The ‘

`+=`’ operators evaluate to the sum of their operands, to which their first operand is also set. - -
- the ‘
`-=`’ subtraction assignment operators- -
`cardinal`(`cardinal`‘`-=`’`cardinal`) - -
`cardinal`(`cardinal`‘`-=`’`integer`) - -
`cardinal`(`cardinal`‘`-=`’`real`) - -
`integer`(`integer`‘`-=`’`cardinal`) - -
`integer`(`integer`‘`-=`’`integer`) - -
`integer`(`integer`‘`-=`’`real`) - -
`real`(`real`‘`-=`’`cardinal`) - -
`real`(`real`‘`-=`’`integer`) - -
`real`(`real`‘`-=`’`real`)

- -
- the ‘
`-=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`-=`’`object`) - -
`integer`(`integer`‘`-=`’`object`) - -
`real`(`real`‘`-=`’`object`)

The ‘

`-=`’ operators evaluate to the difference of their operands, to which their first operand is also set. - -
- the ‘
`*=`’ multiplication assignment operators- -
`cardinal`(`cardinal`‘`*=`’`cardinal`) - -
`cardinal`(`cardinal`‘`*=`’`integer`) - -
`cardinal`(`cardinal`‘`*=`’`real`) - -
`integer`(`integer`‘`*=`’`cardinal`) - -
`integer`(`integer`‘`*=`’`integer`) - -
`integer`(`integer`‘`*=`’`real`) - -
`real`(`real`‘`*=`’`cardinal`) - -
`real`(`real`‘`*=`’`integer`) - -
`real`(`real`‘`*=`’`real`)

- -
- the ‘
`*=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`*=`’`object`) - -
`integer`(`integer`‘`*=`’`object`) - -
`real`(`real`‘`*=`’`object`)

The ‘

`*=`’ operators evaluate to the product of their operands, to which their first operand is also set. - -
- the ‘
`/=`’ division assignment operators- -
`cardinal`(`cardinal`‘`/=`’`cardinal`) - -
`cardinal`(`cardinal`‘`/=`’`integer`) - -
`cardinal`(`cardinal`‘`/=`’`real`) - -
`integer`(`integer`‘`/=`’`cardinal`) - -
`integer`(`integer`‘`/=`’`integer`) - -
`integer`(`integer`‘`/=`’`real`) - -
`real`(`real`‘`/=`’`cardinal`) - -
`real`(`real`‘`/=`’`integer`) - -
`real`(`real`‘`/=`’`real`)

- -
- the ‘
`/=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`/=`’`object`) - -
`integer`(`integer`‘`/=`’`object`) - -
`real`(`real`‘`/=`’`object`)

The ‘

`/=`’ operators evaluate to the quotient of their operands division, to which their first operand is also set. - -
- the ‘
`%=`’ modulus assignment operators- -
`cardinal`(`cardinal`‘`%=`’`cardinal`) - -
`cardinal`(`cardinal`‘`%=`’`integer`) - -
`integer`(`integer`‘`%=`’`cardinal`) - -
`integer`(`integer`‘`%=`’`integer`)

- -
- the ‘
`%=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`%=`’`object`) - -
`integer`(`integer`‘`%=`’`object`)

The ‘

`%=`’ operators evaluate to the remainder of the integral division of their operands, to which their first operand is also set. - -
- the ‘
`&=`’ bitwise AND assignment operators- -
`cardinal`(`cardinal`‘`&=`’`cardinal`) - -
`cardinal`(`cardinal`‘`&=`’`integer`) - -
`integer`(`integer`‘`&=`’`cardinal`) - -
`integer`(`integer`‘`&=`’`integer`)

- -
- the ‘
`&=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`&=`’`object`) - -
`integer`(`integer`‘`&=`’`object`)

The ‘

`&=`’ operators evaluate to the bitwise ANDing of their operands, to which their first operand is also set. - -
- the ‘
`^=`’ bitwise XOR assignment operators- -
`cardinal`(`cardinal`‘`^=`’`cardinal`) - -
`cardinal`(`cardinal`‘`^=`’`integer`) - -
`integer`(`integer`‘`^=`’`cardinal`) - -
`integer`(`integer`‘`^=`’`integer`)

- -
- the ‘
`^=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`^=`’`object`) - -
`integer`(`integer`‘`^=`’`object`)

The ‘

`^=`’ operators evaluate to the bitwise XORing of their operands, to which their first operand is also set. - -
- the ‘
`|=`’ bitwise OR assignment operators- -
`cardinal`(`cardinal`‘`|=`’`cardinal`) - -
`cardinal`(`cardinal`‘`|=`’`integer`) - -
`integer`(`integer`‘`|=`’`cardinal`) - -
`integer`(`integer`‘`|=`’`integer`)

- -
- the ‘
`|=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`|=`’`object`) - -
`integer`(`integer`‘`|=`’`object`)

The ‘

`|=`’ operators evaluate to the bitwise ORing of their operands, to which their first operand is also set. - -
- the ‘
`<<=`’ left shift assignment operators- -
`cardinal`(`cardinal`‘`<<=`’`cardinal`) - -
`cardinal`(`cardinal`‘`<<=`’`integer`) - -
`integer`(`integer`‘`<<=`’`cardinal`) - -
`integer`(`integer`‘`<<=`’`integer`)

- -
- the ‘
`<<=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`<<=`’`object`) - -
`integer`(`integer`‘`<<=`’`object`)

The ‘

`<<=`’ operators evaluate to the value of their first operand left shifted by the number of positions indicated by their second operand. The shift is a bitwise shift. The first operand is set to the evaluated value. - -
- the ‘
`>>=`’ right shift assignment operators- -
`cardinal`(`cardinal`‘`>>=`’`cardinal`) - -
`cardinal`(`cardinal`‘`>>=`’`integer`) - -
`integer`(`integer`‘`>>=`’`cardinal`) - -
`integer`(`integer`‘`>>=`’`integer`)

- -
- the ‘
`>>=`’ ‘`object`’ assignment operators- -
`cardinal`(`cardinal`‘`>>=`’`object`) - -
`integer`(`integer`‘`>>=`’`object`)

The ‘

`>>=`’ operators evaluate to the value of their first operand right shifted by the number of positions indicated by their second operand. The shift is a bitwise shift. The first operand is set to the evaluated value. - -
- the ‘
`[`’‘`]`’ indexing operators- -
`integer`(`text`‘`[`’`integer`‘`]`’) - -
`integer`(`data`‘`[`’`integer`‘`]`’) - -
`object`(`list`‘`[`’`integer`‘`]`’) - -
`object`(`record`‘`[`’`text`‘`]`’)

The ‘

`[`’‘`]`’ operators evaluate to the item indexed by the second operand in the collection indicated by the first operand (negative item indications are interpreted with respect to the end of the collection).The

*text*‘`[`’*integer*‘`]`’ operator evaluates to the (positively defined value of the) character indexed by the second operand in the intrinsic string indicated by the first operand if such character exists, to 0 otherwise.The

*data*‘`[`’*integer*‘`]`’ operator evaluates to the (positively defined value of the) character indexed by the second operand in the byte array indicated by the first operand.The

*list*‘`[`’*integer*‘`]`’ operator evaluates to the data in the position indicated by the second operand in the list indicated by the first operand.The

*record*‘`[`’*text*‘`]`’ operator evaluates to the data in the position indicated by the second operand in the record indicated by the first operand. - -

Next: Binary Operators Precedence Table, Previous: The Prefix Unary Operators, Up: Operators [Index]