logo-header

 
 

An Operator is a symbolic representation of a function to be applied on operands. This application is called an operation. Operands can be data items or constants.

In expressions with multiple operators, the precedence of the evaluation is based on the precedence order and the associativity within this order. Operators with lower orders are evaluated first.

Examples:

  • -3^2 is evaluated as (-3)^2 or pow(neg(3), 2) due to the higher precedence order of the unary minus operator.
  • a / b * c is evaluated as (a / b) * c or mul(div(a,b), c) due to the equal order and left to right associativity of the multiply and divide operator.
  • a?b:c?d:e is evaluated as a?b:(c?d:e) due to the right to left associativity of the immediate if operators.
  • a || b && c is evaluated as a || (b && c) or or(a, and(b, c) due to the higher precedence order of the and operator.


Use brackets to overrule the precedence rules.

Operator Name Order Precedence Associativity Description Equivalent Function
+ (unary) plus 0 right to left +a means a
- (unary) minus 0 right to left -a means -a neg
# nrofrows 0 - #u means number of rows of unit u nrofrows
^ power 1 left to right a ^ b means a to the b-th power pow
! subitem 1 left to right a!b means subitem(a, b) subitem
[..] array access 1 left to right a[b] means lookup(b, a) if b is a data item   lookup
[..] value 1 left to right a[b] means value(a,b) if b is a unit value
* multiply 2 left to right a * b means a multiplied with b mul
/ divide 2 left to right a / b means a divided by b (spaces are necessary) div
% modulo 2 left to right a % b means a modulo b mod
+(binary) plus 3 left to right a + b means a plus b add
- (binary) minus 3 left to right a - b means a minus b sub
== equal to 4 left to right a == b means a equals b eq
!= not equal to 4 left to right a  b means a not equals b not
< less than 4 left to right a < b means a less than b lt
<= less than or
equal to
4 left to right a <= b means a less than or equal to b le
> greater than 4 left to right a > b means a greater than b gt
>= greater than or
equal to
4 left to right a >= b means a greater than or equal to b ge
! (unary) not 5 right to left !a means not a not
&& and 6 left to right a && b means a and b and
|| or 7 left to right a || b means a or b or
? : then else (in an iif expression) 8 right to left cond-expr ? then-expr : else-expr iif

OBJECT VISION BV
Vrije Universiteit
De Boelelaan 1085
1081 HV Amsterdam
The Netherlands

tel: +31 (0)20 598 9083
fax:+31 (0)20 598 9904