avrora.core.isdl.ast
Interface CodeRebuilder
- All Known Subinterfaces:
- StmtRebuilder
- All Known Implementing Classes:
- CodeRebuilder.DepthFirst, StmtRebuilder.DepthFirst
- public interface 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.
Nested Class Summary |
static class |
CodeRebuilder.DepthFirst
The DepthFirst class is a base implementation of the CodeVisitor interface
that visits the tree in depth-first order. |
Method Summary |
Expr |
visit(Arith.AddExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.AndExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.CompExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.DivExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.MulExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.NegExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.OrExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.ShiftLeftExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.ShiftRightExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.SubExpr e,
java.lang.Object env)
|
Expr |
visit(Arith.XorExpr e,
java.lang.Object env)
|
Expr |
visit(BitExpr e,
java.lang.Object env)
|
Expr |
visit(BitRangeExpr e,
java.lang.Object env)
|
Expr |
visit(CallExpr e,
java.lang.Object env)
|
Expr |
visit(ConversionExpr e,
java.lang.Object env)
|
Expr |
visit(Literal.BoolExpr e,
java.lang.Object env)
|
Expr |
visit(Literal.IntExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.AndExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.EquExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.GreaterEquExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.GreaterExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.LessEquExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.LessExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.NequExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.NotExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.OrExpr e,
java.lang.Object env)
|
Expr |
visit(Logical.XorExpr e,
java.lang.Object env)
|
Expr |
visit(MapExpr e,
java.lang.Object env)
|
Expr |
visit(VarExpr e,
java.lang.Object env)
|
visit
public Expr visit(Arith.AddExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.AndExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.CompExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.DivExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.MulExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.NegExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.OrExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.ShiftLeftExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.ShiftRightExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.SubExpr e,
java.lang.Object env)
visit
public Expr visit(Arith.XorExpr e,
java.lang.Object env)
visit
public Expr visit(BitExpr e,
java.lang.Object env)
visit
public Expr visit(BitRangeExpr e,
java.lang.Object env)
visit
public Expr visit(CallExpr e,
java.lang.Object env)
visit
public Expr visit(ConversionExpr e,
java.lang.Object env)
visit
public Expr visit(Literal.BoolExpr e,
java.lang.Object env)
visit
public Expr visit(Literal.IntExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.AndExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.EquExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.GreaterEquExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.GreaterExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.LessEquExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.LessExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.NequExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.NotExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.OrExpr e,
java.lang.Object env)
visit
public Expr visit(Logical.XorExpr e,
java.lang.Object env)
visit
public Expr visit(MapExpr e,
java.lang.Object env)
visit
public Expr visit(VarExpr e,
java.lang.Object env)