Boolean Expressions
A boolean-expression designates true or false. CSL boolean expressions use conventional infix syntax:
[~]<term> [<binary-logical-operator> [~]<term>]*
A binary-logical-operator is one of the following:
-
and -
or
Each term is one of the following:
-
Boolean literal. See Boolean Literals.
-
Identifier (must be boolean valued). See Identifiers and Literals.
-
Function invocation (must be boolean valued). See Function Invocations.
-
Arithmetic comparison. See below.
-
Boolean expression. See Boolean Expressions.
An arithmetic-comparison has the following form:
<arithmetic-expression> <comparison-operator> <arithmetic-expression>
A comparison-operator is one of the following:
-
> (greater than)
-
>= (greater than or equal to)
-
< (less than)
-
<= (less than or equal to)
-
== (equal to)
-
<> (not equal to)
Boolean expressions can be grouped using parentheses.
Conventional precedence rules for conditional expressions are as follows:
-
Parentheses (explicit expression nesting)
-
~ (logical negation)
-
Arithmetic comparison
-
and -
or -
Left to right (textual order)