1 cananian 1.1.2.13 // TreeVisitor.java, created Thu Jan 14 19:06:18 1999 by duncan
 2 cananian 1.1.2.18 // Copyright (C) 1998 Duncan Bryce <duncan@lcs.mit.edu>
 3 cananian 1.1.2.12 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 duncan   1.1.2.1  package harpoon.IR.Tree;
 5 duncan   1.1.2.1  
 6 duncan   1.1.2.2  /**
 7 duncan   1.1.2.2   * <code>TreeVisitor</code> is a Design Pattern, courtesy of Martin.
 8 duncan   1.1.2.2   * 
 9 cananian 1.1.2.18  * @author   Duncan Bryce <duncan@lcs.mit.edu>
10 cananian 1.2       * @version  $Id: TreeVisitor.java,v 1.2 2002/02/25 21:05:42 cananian Exp $
11 duncan   1.1.2.2   */
12 duncan   1.1.2.1  public abstract class TreeVisitor
13 duncan   1.1.2.1  {
14 duncan   1.1.2.10     protected TreeVisitor() { } 
15 duncan   1.1.2.1  
16 duncan   1.1.2.10     public abstract void visit(Tree e);
17 duncan   1.1.2.9  
18 cananian 1.1.2.15     public void visit(ALIGN e)          { visit((Stm)e); }
19 duncan   1.1.2.10     public void visit(BINOP e)          { visit((OPER)e); }
20 duncan   1.1.2.10     public void visit(CALL e)           { visit((INVOCATION)e); }
21 duncan   1.1.2.10     public void visit(CJUMP e)          { visit((Stm)e); }
22 duncan   1.1.2.10     public void visit(CONST e)          { visit((Exp)e); }
23 cananian 1.1.2.16     public void visit(DATUM e)          { visit((Stm)e); } 
24 duncan   1.1.2.10     public void visit(ESEQ e)           { visit((Exp)e); }
25 duncan   1.1.2.10     public void visit(Exp e)            { visit((Tree)e); }
26 jwhaley  1.1.2.17     public void visit(EXPR e)           { visit((Stm)e); }
27 duncan   1.1.2.10     public void visit(INVOCATION e)     { visit((Stm)e); }
28 duncan   1.1.2.10     public void visit(JUMP e)           { visit((Stm)e); }
29 duncan   1.1.2.10     public void visit(LABEL e)          { visit((Stm)e); }
30 duncan   1.1.2.10     public void visit(MEM e)            { visit((Exp)e); }
31 duncan   1.1.2.14     public void visit(METHOD e)         { visit((Stm)e); }
32 duncan   1.1.2.10     public void visit(MOVE e)           { visit((Stm)e); }
33 duncan   1.1.2.10     public void visit(NAME e)           { visit((Exp)e); }
34 duncan   1.1.2.10     public void visit(NATIVECALL e)     { visit((INVOCATION)e); }
35 duncan   1.1.2.10     public void visit(OPER e)           { visit((Exp)e); }
36 duncan   1.1.2.10     public void visit(RETURN e)         { visit((Stm)e); }
37 duncan   1.1.2.11     public void visit(SEGMENT e)        { visit((Stm)e); } 
38 duncan   1.1.2.10     public void visit(SEQ e)            { visit((Stm)e); }
39 duncan   1.1.2.10     public void visit(Stm e)            { visit((Tree)e); }
40 duncan   1.1.2.10     public void visit(TEMP e)           { visit((Exp)e); }
41 duncan   1.1.2.10     public void visit(THROW e)          { visit((Stm)e); }
42 duncan   1.1.2.10     public void visit(UNOP e)           { visit((OPER)e); }
43 duncan   1.1.2.1  }
44 cananian 1.2