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