# Addition 1 + 2 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Subtraction 5 - 3 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Multiplication 2 * 3 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Division 10 / 2 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Power 2 ** 3 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Equality a == b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Inequality a != b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Less than a < b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Greater than a > b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Less than or equal a <= b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Greater than or equal a >= b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Logical AND a && b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Logical OR a || b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Null coalescing a ?? b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Elvis operator a ?: b ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Unicode containment operators a ∈ z; x ∉ y; a ⊆ b ==> SurrealQL( BinaryExpression(Ident,Operator,Ident), BinaryExpression(Ident,Operator,Ident), BinaryExpression(Ident,Operator,Ident) ) # Keyword operator containsnot x containsnot y ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # IS operator x IS y ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # IN keyword operator x IN y ==> SurrealQL(BinaryExpression(Ident,Operator(Keyword),Ident)) # Fuzzy match x ?= y ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # All match x *= y ==> SurrealQL(BinaryExpression(Ident,Operator,Ident)) # Unicode multiplication 2 × 3 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Unicode division 10 ÷ 2 ==> SurrealQL(BinaryExpression(Number(Int),Operator,Number(Int))) # Matches operator with distance x @1@ y ==> SurrealQL(BinaryExpression(Ident,Operator(Number(Int)),Ident)) # Addition assignment in expression a += 1 ==> SurrealQL(BinaryExpression(Ident,Operator,Number(Int))) # Subtraction assignment in expression a -= 1 ==> SurrealQL(BinaryExpression(Ident,Operator,Number(Int)))