A binary operator expression.

Binary operations can be left-associative (a X b X c means (a X b) X c) or right-associative (a X b X c means a X (b X c)). To represent this in the type system, the left and right children of concrete classes usually have different types: One has the type of the current precedence level (see the PrecedenceXOperation aliases), one has the type of the precedence level below.

(Some binary operations have no precedence because they can’t be nested (for example, a == b == c is never allowed); in this case, both children have the type of the precedence level below.)

Initializer
BinaryOperation()
Attributes
childrenSource Codeshared formal [ValueExpression, ValueExpression] children

The child nodes of this node.

Refines Operation.children ultimately refines Node.children
leftOperandSource Codeshared formal ValueExpression leftOperand

The left operand.

rightOperandSource Codeshared formal ValueExpression rightOperand

The right operand.

Inherited Attributes
Attributes inherited from: Node
Attributes inherited from: Object
Attributes inherited from: Operation
Inherited Methods
Methods inherited from: Node
Methods inherited from: Object