1
2
3
4 package net.sf.bddbddb.ir.highlevel;
5
6 /***
7 * HighLevelOperationVisitor
8 *
9 * @author John Whaley
10 * @version $Id: HighLevelOperationVisitor.java,v 1.1 2004/07/06 23:36:25 cs343
11 * Exp $
12 */
13 public interface HighLevelOperationVisitor {
14 /***
15 * @param op the operation
16 * @return the result
17 */
18 public abstract Object visit(Join op);
19
20 /***
21 * @param op the operation
22 * @return the result
23 */
24 public abstract Object visit(Project op);
25
26 /***
27 * @param op the operation
28 * @return the result
29 */
30 public abstract Object visit(Rename op);
31
32 /***
33 * @param op the operation
34 * @return the result
35 */
36 public abstract Object visit(Union op);
37
38 /***
39 * @param op the operation
40 * @return the result
41 */
42 public abstract Object visit(Difference op);
43
44 /***
45 * @param op the operation
46 * @return the result
47 */
48 public abstract Object visit(JoinConstant op);
49
50 /***
51 * @param op the operation
52 * @return the result
53 */
54 public abstract Object visit(GenConstant op);
55
56 /***
57 * @param op the operation
58 * @return the result
59 */
60 public abstract Object visit(Free op);
61
62 /***
63 * @param op the operation
64 * @return the result
65 */
66 public abstract Object visit(Universe op);
67
68 /***
69 * @param op the operation
70 * @return the result
71 */
72 public abstract Object visit(Zero op);
73
74 /***
75 * @param op the operation
76 * @return the result
77 */
78 public abstract Object visit(Invert op);
79
80 /***
81 * @param op the operation
82 * @return the result
83 */
84 public abstract Object visit(Copy op);
85
86 /***
87 * @param op the operation
88 * @return the result
89 */
90 public abstract Object visit(Load op);
91
92 /***
93 * @param op the operation
94 * @return the result
95 */
96 public abstract Object visit(Save op);
97 }