Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package avrora.core.isdl.ast

Interface Summary
CodeRebuilder | The `CodeVisitor` interface represents a visitor that is more specific than the `ExprVisitor` visitor, in that it contains visit methods for every type of arithmetic and logical operation in the IR.
CodeVisitor | The `CodeVisitor` interface represents a visitor that is more specific than the `ExprVisitor` visitor, in that it contains visit methods for every type of arithmetic and logical operation in the IR.
ExprVisitor | The `ExprVisitor` interface is part of the visitor pattern for expressions within the program.
StmtRebuilder | The `StmtVisitor` interface implements the visitor pattern so that clients can visit the abstract syntax tree nodes representing statements in the program.
StmtVisitor | The `StmtVisitor` interface implements the visitor pattern so that clients can visit the abstract syntax tree nodes representing statements in the program.

Class Summary
Arith | The `Arith` class is a container for classes that represent integer arithmetic in the IR.
Arith.AddExpr | The `AddExpr` inner class represents the addition of two integer values that produces a new integer value.
Arith.AndExpr | The `AndExpr` class represents the bitwise and of two integer values that produces a single integer result.
Arith.BinOp | The `BinOp` inner class represents an operation on two integers with an infix binary operation.
Arith.CompExpr | The `CompExpr` class represents the bitwise complement of an integer value that produces a single integer result.
Arith.DivExpr | The `DivExpr` inner class represents a division operation on two integer values which produces a single integer result.
Arith.MulExpr | The `MulExpr` inner class represents the multiplication of two integer values which produces a single integer result.
Arith.NegExpr | The `NegExpr` class represents the negation (sign reversal) of an integer value that produces a single integer result.
Arith.OrExpr | The `OrExpr` class represents the bitwise inclusive or of two integer values that produces a single integer result.
Arith.ShiftLeftExpr | The `ShiftLeftExpr` class represents the shift left of an integer value that produces a single integer result.
Arith.ShiftRightExpr | The `ShiftRightExpr` class represents the shift left of an integer value that produces a single integer result.
Arith.SubExpr | The `SubExpr` inner class represents the subtraction of one integer value from another that results in a new integer value.
Arith.UnOp | The `UnOp` inner class represents an operation on a single integer value.
Arith.XorExpr | The `XorExpr` class represents the bitwise exclusive or of two integer values that produces a single integer result.
AssignStmt | The `AssignStmt` class represents an assignment statement in the IR.
BitExpr | The `BitExpr` class represents an access of an individual bit within a value.
BitRangeExpr | The `BitRangeExpr` class represents an expression whose value is the result of extracting a range of the bits from another expression.
CallExpr | The `CallExpr` class represents a subroutine call within the IR.
CallStmt | The `CallStmt` class represents a call to a subroutine that does not produce a value.
CodeRebuilder.DepthFirst | The `DepthFirst` class is a base implementation of the `CodeVisitor` interface that visits the tree in depth-first order.
CodeVisitor.DepthFirst | The `DepthFirst` class is a base implementation of the `CodeVisitor` interface that visits the tree in depth-first order.
DeclStmt | The `DeclStmt` represents a declaration of a local, temporary value in the IR.
Expr | The `Expr` class represents an expression in the IR.
ExprVisitor.DepthFirst | The `DepthFirst` class is a base implementation of the `ExprVisitor` interface that visits the tree in depth-first order.
IfStmt | The `IfStmt` class represents a simple branch within the IR.
Literal | The `Literal` class represents a literal (constant value) as part of an expression.
Literal.BoolExpr | The `BoolExpr` inner class represents a boolean literal that has a known, constant value (true or false).
Literal.IntExpr | The `IntExpr` inner class represents an integer literal that has a known, constant value.
Logical | The `Logical` class is a container for classes that represent expressions that produce booleans in the IR.
Logical.AndExpr | The `AndExpr` inner class represents the logical AND of two boolean values that produces a new boolean value.
Logical.BinOp | The `BinOp` inner class represents an operation on two values with an infix binary operation that produces a boolean.
Logical.EquExpr | The `EquExpr` inner class represents a comparison for equality of two integer values that produces a single boolean value.
Logical.GreaterEquExpr | The `GreaterEquExpr` inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is greater than or equal to the second operand.
Logical.GreaterExpr | The `GreaterExpr` inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is greater than the second operand.
Logical.LessEquExpr | The `LessEquExpr` inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is less than or equal to the second operand.
Logical.LessExpr | The `LessExpr` inner class represents a comparison of two integer values that produces a single boolean value that is true if and only if the first operand is less than the second operand.
Logical.NequExpr | The `NequExpr` inner class represents a comparison for inequality of two integer values that produces a single boolean value.
Logical.NotExpr | The `NotExpr` inner class represents the logical negation of a single boolean value that produces a new integer value.
Logical.OrExpr | The `OrExpr` inner class represents the logical OR of two boolean values that produces a new boolean value.
Logical.UnOp | The `UnOp` inner class represents an operation on a single boolean value.
Logical.XorExpr | The `XorExpr` inner class represents the logical XOR of two boolean values that produces a new boolean value.
MapAssignStmt | The `MapAssignStmt` class represents a statement that is an assignment to an element of a map.
MapBitAssignStmt | The `MapBitAssignStmt` represents an assignment to a single bit within an element within a map.
MapBitRangeAssignStmt | The `MapBitRangeAssignment` class represents an assignment to a range of bits of an element within a map.
MapExpr | The `MapExpr` class represents an expression that is an access of an element within a map.
ReturnStmt | The `ReturnStmt` class represents a return statement within a subroutine that returns a value to its caller.
Stmt | The `Stmt` class represents a statement in the IR that expresses the computation of an instruction.
StmtRebuilder.DepthFirst | The `DepthFirst` class is a base implementation of the `StmtVisitor` interface that visits the tree in depth-first order.
StmtVisitor.DepthFirst | The `DepthFirst` class is a base implementation of the `StmtVisitor` interface that visits the tree in depth-first order.
VarAssignStmt | The `VarAssignStmt` class represents an assignment to a local or global variable within the IR for an instruction or a subroutine.
VarBitAssignStmt | The `VarBitAssignStmt` class represents an assignment to a single bit within a local or global variable.
VarBitRangeAssignStmt | The `VarBitRangeAssignStmt` method represents an assignment to a range of bits within a local or global variable.
VarExpr | The `VarExpr` class represents an expression in the IR that is a use of a local or global variable.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES