Operator Expressions
Syntax
OperatorExpression :
ArithmeticOpExpression
| BitwiseOpExpression
| LogicalOpExpression
| ComparisonExpression
| AssignementExpression
| StringOpExpression
Arithmetic Operations
Syntax
ArithmeticOpExpression :
-Expression
| Expression+Expression
| Expression-Expression
| Expression*Expression
| Expression/Expression
| Expression//Expression
| Expression%Expression
| Expression**Expression
These operators are, in order, the negation, addition, substraction, multiplication, division, integer division, modulo and exponentiation operators.
Bitwise Operations
Syntax
BitwiseOpExpression :
~Expression
| Expression&Expression
| Expression|Expression
| Expression^Expression
These operators represent, in order, the bitwise NOT, AND, OR and XOR operators.
Logical Operations
Syntax
LogicalOpExpression :
!Expression
| Expression&&Expression
| Expression||Expression
These operator represent, respectively, the logical NOT, AND and OR operators.
Comparisons
Syntax
ComparisonExpression :
Expression>Expression
| Expression>=Expression
| Expression<Expression
| Expression<=Expression
| Expression==Expression
| Expression!=Expression
These operators represent, in order, the greater than, greater or equal, less than, less than or equal, equal and not equal operators.
Assignements
Syntax
AssignementExpression :
Expression:=Expression
The expression on the left side of the operator must be assignable to (a lvalue). It must also not have been declared as const.
String Operations
Syntax
StringOpExpression :
Expression@Expression
This operator represents the string concatenation.