()
Enclosing filters in parentheses has three distinct meanings in CQL.
parenthesis for precedence
A single filter can be enclosed in parentheses to make the expression of which it is a part has the correct meaning. In this usage, the parenetheses have the same meaning as a #compound(compound filter) that contains just one filter:
2+4*3 ≡ 14 (2+4)*3 ≡ 18
parentheses to contain arguments
When a filter has multiple arguments, these arguments are contained in parentheses (except for infix functions like attacks or /):between (♖ ♞) lca(x y) ray(♖ ▲ ♚)
Parentheses also enclose the arguments to calls to user defined functions:
function Cube(x){x*x*x}
Cube(4) ≡ 64
parentheses in regular expressions
Parentheses inside a regular expression in a ⊢ filter denote a sequence of positions. In this case, the different positions are separated by arrows:⊢ (♕―― ♜――)+