Expressions

Logical Expressions

Logical Expressions are expressions used in If statements and iterator filters, which yields a boolean value (true or false) when evaluated.

They are on the form:

LogicalExpression =
'('LogicalExpression')' |
not LogicalExpression |
LogicalExpression or LogicalExpression |
LogicalExpression and LogicalExpression |
ComparisonExpression |
BooleanLiteral

Comparison Expressions are on the form:

ComparisonExpression =
ValueExpression '=' ValueExpression |
ValueExpression ('!='|'<>') ValueExpression |
ValueExpression '<' ValueExpression
ValueExpression '>' ValueExpression
ValueExpression '<=' ValueExpression
ValueExpression '>=' ValueExpression

Value Expressions

Value Expressions are expressions that computes arithmetic combinations of simple expressions, e.g. literals, references, or function calls.

Value Expression =
SimpleExpression '+' SimpleExpression |
SimpleExpression '-' SimpleExpression |
SimpleExpression '*' SimpleExpression |
SimpleExpression '/' SimpleExpression |
SimpleExpression

Simple Expressions

Simple expressions are expressions that represents atom expression parts. They can be literals (Boolean, String, Integer, Real, null), references to variables, or calls to functions / rules.