with debug
[prop.git] / prop-src / graphedges.h
blob1da397e27cf4f8a08ce087310c51e6435697fc7e
1 ///////////////////////////////////////////////////////////////////////////////
2 // This file is generated automatically using Prop (version 2.3.6),
3 // last updated on Nov 2, 1999.
4 // The original source file is "graphedges.ph".
5 ///////////////////////////////////////////////////////////////////////////////
7 #line 1 "graphedges.ph"
8 ///////////////////////////////////////////////////////////////////////////////
9 //
10 // This file implements different kind of graph edges
12 ///////////////////////////////////////////////////////////////////////////////
13 #ifndef graph_edges_h
14 #define graph_edges_h
16 #include "graphtype.h"
18 ///////////////////////////////////////////////////////////////////////////////
20 // Class to represent an single valued map
22 ///////////////////////////////////////////////////////////////////////////////
23 class MapEdge : public EdgeDef
24 { MapEdge(const MapEdge&);
25 void operator = (const MapEdge&);
26 public:
27 typedef EdgeDef Super;
28 MapEdge(GraphTypeDef *, Id, NodeDef*, NodeDef*, GraphIndexing, LabTys =
29 #line 21 "graphedges.ph"
30 #line 21 "graphedges.ph"
31 nil_1_
32 #line 21 "graphedges.ph"
33 #line 21 "graphedges.ph"
36 protected:
37 virtual void generate_dom_rep(CodeGen&);
38 virtual void generate_ran_rep(CodeGen&);
39 virtual void generate_interf (CodeGen&);
40 virtual void generate_impl (CodeGen&);
41 virtual void choose_representation ();
42 virtual void print_report(CodeGen&);
44 virtual void gen_in (CodeGen&);
45 virtual void gen_image (CodeGen&);
46 virtual void gen_update_image (CodeGen&);
47 virtual void gen_in_dom(CodeGen&);
50 ///////////////////////////////////////////////////////////////////////////////
52 // Class to represent an multivalued map
54 ///////////////////////////////////////////////////////////////////////////////
55 class MultiMapEdge : public EdgeDef
56 { MultiMapEdge(const MultiMapEdge&);
57 void operator = (const MultiMapEdge&);
58 public:
59 typedef EdgeDef Super;
60 MultiMapEdge
61 (GraphTypeDef *, Id, NodeDef*, NodeDef*, GraphIndexing, LabTys =
62 #line 48 "graphedges.ph"
63 #line 48 "graphedges.ph"
64 nil_1_
65 #line 48 "graphedges.ph"
66 #line 48 "graphedges.ph"
69 protected:
70 virtual void generate_dom_rep(CodeGen&);
71 virtual void generate_ran_rep(CodeGen&);
72 virtual void generate_interf (CodeGen&);
73 virtual void generate_impl (CodeGen&);
74 virtual void choose_representation ();
75 virtual void print_report(CodeGen&);
77 virtual void gen_in (CodeGen&);
78 virtual void gen_image (CodeGen&);
79 virtual void gen_update_image (CodeGen&);
80 virtual void gen_in_dom(CodeGen&);
83 ///////////////////////////////////////////////////////////////////////////////
85 // Class to represent an bijection
87 ///////////////////////////////////////////////////////////////////////////////
88 class BijectionEdge : public MapEdge
89 { BijectionEdge(const BijectionEdge&);
90 void operator = (const BijectionEdge&);
91 public:
92 typedef MapEdge Super;
93 BijectionEdge
94 (GraphTypeDef *, Id, NodeDef*, NodeDef*, GraphIndexing, LabTys =
95 #line 75 "graphedges.ph"
96 #line 75 "graphedges.ph"
97 nil_1_
98 #line 75 "graphedges.ph"
99 #line 75 "graphedges.ph"
102 protected:
103 virtual void generate_dom_rep(CodeGen&);
104 virtual void generate_ran_rep(CodeGen&);
105 virtual void generate_interf (CodeGen&);
106 virtual void generate_impl (CodeGen&);
107 virtual void choose_representation ();
108 virtual void print_report(CodeGen&);
111 ///////////////////////////////////////////////////////////////////////////////
113 // Class to represent an equivalence relation
115 ///////////////////////////////////////////////////////////////////////////////
116 class EquivRelationEdge : public MapEdge
117 { EquivRelationEdge(const EquivRelationEdge&);
118 void operator = (const EquivRelationEdge&);
119 public:
120 typedef MapEdge Super;
121 EquivRelationEdge
122 (GraphTypeDef *, Id, NodeDef*, NodeDef*, GraphIndexing, LabTys =
123 #line 97 "graphedges.ph"
124 #line 97 "graphedges.ph"
125 nil_1_
126 #line 97 "graphedges.ph"
127 #line 97 "graphedges.ph"
130 protected:
131 virtual void generate_dom_rep (CodeGen&);
132 virtual void generate_ran_rep (CodeGen&);
133 virtual void generate_interf (CodeGen&);
134 virtual void generate_impl (CodeGen&);
135 virtual void choose_representation ();
136 virtual void print_report(CodeGen&);
139 #endif
140 #line 109 "graphedges.ph"
142 ------------------------------- Statistics -------------------------------
143 Merge matching rules = yes
144 Number of DFA nodes merged = 0
145 Number of ifs generated = 0
146 Number of switches generated = 0
147 Number of labels = 0
148 Number of gotos = 0
149 Adaptive matching = enabled
150 Fast string matching = disabled
151 Inline downcasts = enabled
152 --------------------------------------------------------------------------