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 ///////////////////////////////////////////////////////////////////////////////
10 // This file implements different kind of graph edges
12 ///////////////////////////////////////////////////////////////////////////////
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
&);
27 typedef EdgeDef Super
;
28 MapEdge(GraphTypeDef
*, Id
, NodeDef
*, NodeDef
*, GraphIndexing
, LabTys
=
29 #line 21 "graphedges.ph"
30 #line 21 "graphedges.ph"
32 #line 21 "graphedges.ph"
33 #line 21 "graphedges.ph"
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
&);
59 typedef EdgeDef Super
;
61 (GraphTypeDef
*, Id
, NodeDef
*, NodeDef
*, GraphIndexing
, LabTys
=
62 #line 48 "graphedges.ph"
63 #line 48 "graphedges.ph"
65 #line 48 "graphedges.ph"
66 #line 48 "graphedges.ph"
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
&);
92 typedef MapEdge Super
;
94 (GraphTypeDef
*, Id
, NodeDef
*, NodeDef
*, GraphIndexing
, LabTys
=
95 #line 75 "graphedges.ph"
96 #line 75 "graphedges.ph"
98 #line 75 "graphedges.ph"
99 #line 75 "graphedges.ph"
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
&);
120 typedef MapEdge Super
;
122 (GraphTypeDef
*, Id
, NodeDef
*, NodeDef
*, GraphIndexing
, LabTys
=
123 #line 97 "graphedges.ph"
124 #line 97 "graphedges.ph"
126 #line 97 "graphedges.ph"
127 #line 97 "graphedges.ph"
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
&);
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
149 Adaptive matching = enabled
150 Fast string matching = disabled
151 Inline downcasts = enabled
152 --------------------------------------------------------------------------