avrora.core.isdl.ast
Interface CodeVisitor

All Known Implementing Classes:
CodemapGenerator.ExprGenerator, CodeVisitor.Default, CodeVisitor.DepthFirst, PrettyPrinter

public interface 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.


Nested Class Summary
static class CodeVisitor.Default
          The DepthFirst class is a base implementation of the CodeVisitor interface that visits the tree in depth-first order.
static class CodeVisitor.DepthFirst
          The DepthFirst class is a base implementation of the CodeVisitor interface that visits the tree in depth-first order.
 
Method Summary
 void visit(Arith.AddExpr e)
           
 void visit(Arith.AndExpr e)
           
 void visit(Arith.CompExpr e)
           
 void visit(Arith.DivExpr e)
           
 void visit(Arith.MulExpr e)
           
 void visit(Arith.NegExpr e)
           
 void visit(Arith.OrExpr e)
           
 void visit(Arith.ShiftLeftExpr e)
           
 void visit(Arith.ShiftRightExpr e)
           
 void visit(Arith.SubExpr e)
           
 void visit(Arith.XorExpr e)
           
 void visit(BitExpr e)
           
 void visit(BitRangeExpr e)
           
 void visit(CallExpr e)
           
 void visit(ConversionExpr e)
           
 void visit(Literal.BoolExpr e)
           
 void visit(Literal.IntExpr e)
           
 void visit(Logical.AndExpr e)
           
 void visit(Logical.EquExpr e)
           
 void visit(Logical.GreaterEquExpr e)
           
 void visit(Logical.GreaterExpr e)
           
 void visit(Logical.LessEquExpr e)
           
 void visit(Logical.LessExpr e)
           
 void visit(Logical.NequExpr e)
           
 void visit(Logical.NotExpr e)
           
 void visit(Logical.OrExpr e)
           
 void visit(Logical.XorExpr e)
           
 void visit(MapExpr e)
           
 void visit(VarExpr e)
           
 

Method Detail

visit

public void visit(Arith.AddExpr e)

visit

public void visit(Arith.AndExpr e)

visit

public void visit(Arith.CompExpr e)

visit

public void visit(Arith.DivExpr e)

visit

public void visit(Arith.MulExpr e)

visit

public void visit(Arith.NegExpr e)

visit

public void visit(Arith.OrExpr e)

visit

public void visit(Arith.ShiftLeftExpr e)

visit

public void visit(Arith.ShiftRightExpr e)

visit

public void visit(Arith.SubExpr e)

visit

public void visit(Arith.XorExpr e)

visit

public void visit(BitExpr e)

visit

public void visit(BitRangeExpr e)

visit

public void visit(CallExpr e)

visit

public void visit(ConversionExpr e)

visit

public void visit(Literal.BoolExpr e)

visit

public void visit(Literal.IntExpr e)

visit

public void visit(Logical.AndExpr e)

visit

public void visit(Logical.EquExpr e)

visit

public void visit(Logical.GreaterEquExpr e)

visit

public void visit(Logical.GreaterExpr e)

visit

public void visit(Logical.LessEquExpr e)

visit

public void visit(Logical.LessExpr e)

visit

public void visit(Logical.NequExpr e)

visit

public void visit(Logical.NotExpr e)

visit

public void visit(Logical.OrExpr e)

visit

public void visit(Logical.XorExpr e)

visit

public void visit(MapExpr e)

visit

public void visit(VarExpr e)