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)
           
 Expr visit(Arith.AndExpr e)
           
 Expr visit(Arith.CompExpr e)
           
 Expr visit(Arith.DivExpr e)
           
 Expr visit(Arith.MulExpr e)
           
 Expr visit(Arith.NegExpr e)
           
 Expr visit(Arith.OrExpr e)
           
 Expr visit(Arith.ShiftLeftExpr e)
           
 Expr visit(Arith.ShiftRightExpr e)
           
 Expr visit(Arith.SubExpr e)
           
 Expr visit(Arith.XorExpr e)
           
 Expr visit(BitExpr e)
           
 Expr visit(BitRangeExpr e)
           
 Expr visit(CallExpr e)
           
 Expr visit(Literal.BoolExpr e)
           
 Expr visit(Literal.IntExpr e)
           
 Expr visit(Logical.AndExpr e)
           
 Expr visit(Logical.EquExpr e)
           
 Expr visit(Logical.GreaterEquExpr e)
           
 Expr visit(Logical.GreaterExpr e)
           
 Expr visit(Logical.LessEquExpr e)
           
 Expr visit(Logical.LessExpr e)
           
 Expr visit(Logical.NequExpr e)
           
 Expr visit(Logical.NotExpr e)
           
 Expr visit(Logical.OrExpr e)
           
 Expr visit(Logical.XorExpr e)
           
 Expr visit(MapExpr e)
           
 Expr visit(VarExpr e)
           
 

Method Detail

visit

public Expr visit(Arith.AddExpr e)

visit

public Expr visit(Arith.AndExpr e)

visit

public Expr visit(Arith.CompExpr e)

visit

public Expr visit(Arith.DivExpr e)

visit

public Expr visit(Arith.MulExpr e)

visit

public Expr visit(Arith.NegExpr e)

visit

public Expr visit(Arith.OrExpr e)

visit

public Expr visit(Arith.ShiftLeftExpr e)

visit

public Expr visit(Arith.ShiftRightExpr e)

visit

public Expr visit(Arith.SubExpr e)

visit

public Expr visit(Arith.XorExpr e)

visit

public Expr visit(BitExpr e)

visit

public Expr visit(BitRangeExpr e)

visit

public Expr visit(CallExpr e)

visit

public Expr visit(Literal.BoolExpr e)

visit

public Expr visit(Literal.IntExpr e)

visit

public Expr visit(Logical.AndExpr e)

visit

public Expr visit(Logical.EquExpr e)

visit

public Expr visit(Logical.GreaterEquExpr e)

visit

public Expr visit(Logical.GreaterExpr e)

visit

public Expr visit(Logical.LessEquExpr e)

visit

public Expr visit(Logical.LessExpr e)

visit

public Expr visit(Logical.NequExpr e)

visit

public Expr visit(Logical.NotExpr e)

visit

public Expr visit(Logical.OrExpr e)

visit

public Expr visit(Logical.XorExpr e)

visit

public Expr visit(MapExpr e)

visit

public Expr visit(VarExpr e)