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)