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)
           
 

Method Detail

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)