BoolBinOp class

Represents a boolean binary operation in Balbismo.

A boolean binary operation applies logical AND (&&) or OR (||) operations to two boolean values. These operations work with integer values where 0 represents false and any non-zero value represents true.

Example Balbismo code:

int x = 1;
int y = 0;
int result = x && y;  // '&&' is a BoolBinOp
int result2 = x || y; // '||' is a BoolBinOp

This generates LLVM IR like:

%and.0 = and i64 %x, %y
%logic.0 = icmp ne i64 %and.0, 0
%boolBinOp.0 = zext i1 %logic.0 to i64
Inheritance

Constructors

BoolBinOp.new(String value, Node<dynamic, LangVal<LangType>> left, Node<dynamic, LangVal<LangType>> right)
Constructs a boolean binary operation with the operator and operands.

Properties

children → List<Node>
Child nodes that form the structure of this node.
finalinherited
hashCode → int
The hash code for this object.
no setterinherited
id ↔ int
Unique identifier for this node, used for LLVM register naming.
getter/setter pairinherited
left → Node<dynamic, LangVal<LangType>>
no setter
nodeValue → BoolOperator
The primary value associated with this node (varies by node type).
finalinherited
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

evaluate(SymbolTable table) → LangVal<LangType>
Evaluates this AST node and generates corresponding LLVM IR code.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited