PIPS
dg.h
Go to the documentation of this file.
1 #ifndef _newgen_dg_included
2 #define _newgen_dg_included
3 #define _gen_dg_start 224
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_statement_domain_defined_)
11 #define _newgen_statement_domain_defined_
12 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
13 #define statement_NEWGEN_DOMAIN (statement_domain)
15 #endif /* _newgen_statement_domain_defined_ */
16 
17 #if !defined(_newgen_effect_domain_defined_)
18 #define _newgen_effect_domain_defined_
19 #define EFFECT_NEWGEN_DOMAIN (effect_domain)
20 #define effect_NEWGEN_DOMAIN (effect_domain)
21 typedef struct _newgen_struct_effect_ * effect;
22 #endif /* _newgen_effect_domain_defined_ */
23 
24 #if !defined(_newgen_vertex_domain_defined_)
25 #define _newgen_vertex_domain_defined_
26 #define VERTEX_NEWGEN_DOMAIN (vertex_domain)
27 #define vertex_NEWGEN_DOMAIN (vertex_domain)
28 typedef struct _newgen_struct_vertex_ * vertex;
29 #endif /* _newgen_vertex_domain_defined_ */
30 
31 #if !defined(_newgen_Ptsg_domain_defined_)
32 #define _newgen_Ptsg_domain_defined_
33 #define newgen_Ptsg(p) (p) /* old hack compatible */
34 #define PTSG_NEWGEN_EXTERNAL (_gen_dg_start+0)
35 #define PTSG_NEWGEN_DOMAIN (PTSG_NEWGEN_EXTERNAL)
36 #define Ptsg_NEWGEN_DOMAIN (PTSG_NEWGEN_EXTERNAL)
37 #endif /* _newgen_Ptsg_domain_defined_ */
38 
39 #define cone_domain (_gen_dg_start+1)
40 #if !defined(_newgen_cone_domain_defined_)
41 #define _newgen_cone_domain_defined_
42 #define CONE_NEWGEN_DOMAIN (cone_domain)
43 #define cone_NEWGEN_DOMAIN (cone_domain)
44 typedef struct _newgen_struct_cone_ * cone;
45 #endif /* _newgen_cone_domain_defined_ */
46 
47 #define conflict_domain (_gen_dg_start+2)
48 #if !defined(_newgen_conflict_domain_defined_)
49 #define _newgen_conflict_domain_defined_
50 #define CONFLICT_NEWGEN_DOMAIN (conflict_domain)
51 #define conflict_NEWGEN_DOMAIN (conflict_domain)
53 #endif /* _newgen_conflict_domain_defined_ */
54 
55 #define dg_arc_label_domain (_gen_dg_start+3)
56 #if !defined(_newgen_dg_arc_label_domain_defined_)
57 #define _newgen_dg_arc_label_domain_defined_
58 #define DG_ARC_LABEL_NEWGEN_DOMAIN (dg_arc_label_domain)
59 #define dg_arc_label_NEWGEN_DOMAIN (dg_arc_label_domain)
61 #endif /* _newgen_dg_arc_label_domain_defined_ */
62 
63 #define dg_vertex_label_domain (_gen_dg_start+4)
64 #if !defined(_newgen_dg_vertex_label_domain_defined_)
65 #define _newgen_dg_vertex_label_domain_defined_
66 #define DG_VERTEX_LABEL_NEWGEN_DOMAIN (dg_vertex_label_domain)
67 #define dg_vertex_label_NEWGEN_DOMAIN (dg_vertex_label_domain)
69 #endif /* _newgen_dg_vertex_label_domain_defined_ */
70 
71 #define sccflags_domain (_gen_dg_start+5)
72 #if !defined(_newgen_sccflags_domain_defined_)
73 #define _newgen_sccflags_domain_defined_
74 #define SCCFLAGS_NEWGEN_DOMAIN (sccflags_domain)
75 #define sccflags_NEWGEN_DOMAIN (sccflags_domain)
77 #endif /* _newgen_sccflags_domain_defined_ */
78 
79 #define sccs_domain (_gen_dg_start+6)
80 #if !defined(_newgen_sccs_domain_defined_)
81 #define _newgen_sccs_domain_defined_
82 #define SCCS_NEWGEN_DOMAIN (sccs_domain)
83 #define sccs_NEWGEN_DOMAIN (sccs_domain)
84 typedef struct _newgen_struct_sccs_ * sccs;
85 #endif /* _newgen_sccs_domain_defined_ */
86 
87 #define scc_domain (_gen_dg_start+7)
88 #if !defined(_newgen_scc_domain_defined_)
89 #define _newgen_scc_domain_defined_
90 #define SCC_NEWGEN_DOMAIN (scc_domain)
91 #define scc_NEWGEN_DOMAIN (scc_domain)
92 typedef struct _newgen_struct_scc_ * scc;
93 #endif /* _newgen_scc_domain_defined_ */
94 
95 
96 /* CONE
97  */
98 #define CONE(x) ((cone)((x).p))
99 #define cone_CAST(x) CONE(x)
100 #define CONE_CAST(x) CONE(x)
101 #define CONE_(x) ((x).e)
102 #define CONE_TYPE cone
103 #define cone_TYPE cone
104 #define cone_undefined ((cone)gen_chunk_undefined)
105 #define cone_undefined_p(x) ((x)==cone_undefined)
106 
107 extern cone copy_cone(cone);
108 extern void free_cone(cone);
109 extern cone check_cone(cone);
110 extern bool cone_consistent_p(cone);
111 extern bool cone_defined_p(cone);
112 #define gen_CONE_cons gen_cone_cons
113 extern list gen_cone_cons(cone, list);
114 extern void cone_assign_contents(cone, cone);
115 extern void cone_non_recursive_free(cone);
116 extern void write_cone(FILE*, cone);
117 extern cone read_cone(FILE*);
118 extern cone make_cone(list, Ptsg);
119 
122  list _cone_levels_; /* levels:int* */
123  Ptsg _cone_generating_system_; /* generating_system:Ptsg */
124 };
125 
126 #define cone_domain_number(x) ((x)->_type_)
127 #define cone_levels_(x) cone_levels(x) /* old hack compatible */
128 #define cone_levels(x) ((x)->_cone_levels_)
129 #define cone_generating_system_(x) cone_generating_system(x) /* old hack compatible */
130 #define cone_generating_system(x) ((x)->_cone_generating_system_)
131 
132 /* CONFLICT
133  */
134 #define CONFLICT(x) ((conflict)((x).p))
135 #define conflict_CAST(x) CONFLICT(x)
136 #define CONFLICT_CAST(x) CONFLICT(x)
137 #define CONFLICT_(x) ((x).e)
138 #define CONFLICT_TYPE conflict
139 #define conflict_TYPE conflict
140 #define conflict_undefined ((conflict)gen_chunk_undefined)
141 #define conflict_undefined_p(x) ((x)==conflict_undefined)
142 
144 extern void free_conflict(conflict);
146 extern bool conflict_consistent_p(conflict);
147 extern bool conflict_defined_p(conflict);
148 #define gen_CONFLICT_cons gen_conflict_cons
152 extern void write_conflict(FILE*, conflict);
153 extern conflict read_conflict(FILE*);
155 
158  effect _conflict_source_; /* source:effect */
159  effect _conflict_sink_; /* sink:effect */
160  cone _conflict_cone_; /* cone:cone */
161 };
162 
163 #define conflict_domain_number(x) ((x)->_type_)
164 #define conflict_source_(x) conflict_source(x) /* old hack compatible */
165 #define conflict_source(x) ((x)->_conflict_source_)
166 #define conflict_sink_(x) conflict_sink(x) /* old hack compatible */
167 #define conflict_sink(x) ((x)->_conflict_sink_)
168 #define conflict_cone_(x) conflict_cone(x) /* old hack compatible */
169 #define conflict_cone(x) ((x)->_conflict_cone_)
170 
171 /* DG_ARC_LABEL
172  */
173 #define DG_ARC_LABEL(x) ((dg_arc_label)((x).p))
174 #define dg_arc_label_CAST(x) DG_ARC_LABEL(x)
175 #define DG_ARC_LABEL_CAST(x) DG_ARC_LABEL(x)
176 #define DG_ARC_LABEL_(x) ((x).e)
177 #define DG_ARC_LABEL_TYPE dg_arc_label
178 #define dg_arc_label_TYPE dg_arc_label
179 #define dg_arc_label_undefined ((dg_arc_label)gen_chunk_undefined)
180 #define dg_arc_label_undefined_p(x) ((x)==dg_arc_label_undefined)
181 
183 extern void free_dg_arc_label(dg_arc_label);
187 #define gen_DG_ARC_LABEL_cons gen_dg_arc_label_cons
191 extern void write_dg_arc_label(FILE*, dg_arc_label);
192 extern dg_arc_label read_dg_arc_label(FILE*);
194 
198 };
199 
200 #define dg_arc_label_domain_number(x) ((x)->_type_)
201 #define dg_arc_label_conflicts(x) ((x)->_dg_arc_label_holder_)
202 
203 /* DG_VERTEX_LABEL
204  */
205 #define DG_VERTEX_LABEL(x) ((dg_vertex_label)((x).p))
206 #define dg_vertex_label_CAST(x) DG_VERTEX_LABEL(x)
207 #define DG_VERTEX_LABEL_CAST(x) DG_VERTEX_LABEL(x)
208 #define DG_VERTEX_LABEL_(x) ((x).e)
209 #define DG_VERTEX_LABEL_TYPE dg_vertex_label
210 #define dg_vertex_label_TYPE dg_vertex_label
211 #define dg_vertex_label_undefined ((dg_vertex_label)gen_chunk_undefined)
212 #define dg_vertex_label_undefined_p(x) ((x)==dg_vertex_label_undefined)
213 
219 #define gen_DG_VERTEX_LABEL_cons gen_dg_vertex_label_cons
223 extern void write_dg_vertex_label(FILE*, dg_vertex_label);
226 
230  sccflags _dg_vertex_label_sccflags_; /* sccflags:sccflags */
231 };
232 
233 #define dg_vertex_label_domain_number(x) ((x)->_type_)
234 #define dg_vertex_label_statement_(x) dg_vertex_label_statement(x) /* old hack compatible */
235 #define dg_vertex_label_statement(x) ((x)->_dg_vertex_label_statement_)
236 #define dg_vertex_label_sccflags_(x) dg_vertex_label_sccflags(x) /* old hack compatible */
237 #define dg_vertex_label_sccflags(x) ((x)->_dg_vertex_label_sccflags_)
238 
239 /* SCCFLAGS
240  */
241 #define SCCFLAGS(x) ((sccflags)((x).p))
242 #define sccflags_CAST(x) SCCFLAGS(x)
243 #define SCCFLAGS_CAST(x) SCCFLAGS(x)
244 #define SCCFLAGS_(x) ((x).e)
245 #define SCCFLAGS_TYPE sccflags
246 #define sccflags_TYPE sccflags
247 #define sccflags_undefined ((sccflags)gen_chunk_undefined)
248 #define sccflags_undefined_p(x) ((x)==sccflags_undefined)
249 
251 extern void free_sccflags(sccflags);
253 extern bool sccflags_consistent_p(sccflags);
254 extern bool sccflags_defined_p(sccflags);
255 #define gen_SCCFLAGS_cons gen_sccflags_cons
259 extern void write_sccflags(FILE*, sccflags);
260 extern sccflags read_sccflags(FILE*);
262 
265  scc _sccflags_enclosing_scc_; /* enclosing_scc:scc */
266  intptr_t _sccflags_mark_; /* mark:int */
267  intptr_t _sccflags_dfnumber_; /* dfnumber:int */
268  intptr_t _sccflags_lowlink_; /* lowlink:int */
269 };
270 
271 #define sccflags_domain_number(x) ((x)->_type_)
272 #define sccflags_enclosing_scc_(x) sccflags_enclosing_scc(x) /* old hack compatible */
273 #define sccflags_enclosing_scc(x) ((x)->_sccflags_enclosing_scc_)
274 #define sccflags_mark_(x) sccflags_mark(x) /* old hack compatible */
275 #define sccflags_mark(x) ((x)->_sccflags_mark_)
276 #define sccflags_dfnumber_(x) sccflags_dfnumber(x) /* old hack compatible */
277 #define sccflags_dfnumber(x) ((x)->_sccflags_dfnumber_)
278 #define sccflags_lowlink_(x) sccflags_lowlink(x) /* old hack compatible */
279 #define sccflags_lowlink(x) ((x)->_sccflags_lowlink_)
280 
281 /* SCCS
282  */
283 #define SCCS(x) ((sccs)((x).p))
284 #define sccs_CAST(x) SCCS(x)
285 #define SCCS_CAST(x) SCCS(x)
286 #define SCCS_(x) ((x).e)
287 #define SCCS_TYPE sccs
288 #define sccs_TYPE sccs
289 #define sccs_undefined ((sccs)gen_chunk_undefined)
290 #define sccs_undefined_p(x) ((x)==sccs_undefined)
291 
292 extern sccs copy_sccs(sccs);
293 extern void free_sccs(sccs);
294 extern sccs check_sccs(sccs);
295 extern bool sccs_consistent_p(sccs);
296 extern bool sccs_defined_p(sccs);
297 #define gen_SCCS_cons gen_sccs_cons
298 extern list gen_sccs_cons(sccs, list);
299 extern void sccs_assign_contents(sccs, sccs);
300 extern void sccs_non_recursive_free(sccs);
301 extern void write_sccs(FILE*, sccs);
302 extern sccs read_sccs(FILE*);
303 extern sccs make_sccs(list);
304 
308 };
309 
310 #define sccs_domain_number(x) ((x)->_type_)
311 #define sccs_sccs(x) ((x)->_sccs_holder_)
312 
313 /* SCC
314  */
315 #define SCC(x) ((scc)((x).p))
316 #define scc_CAST(x) SCC(x)
317 #define SCC_CAST(x) SCC(x)
318 #define SCC_(x) ((x).e)
319 #define SCC_TYPE scc
320 #define scc_TYPE scc
321 #define scc_undefined ((scc)gen_chunk_undefined)
322 #define scc_undefined_p(x) ((x)==scc_undefined)
323 
324 extern scc copy_scc(scc);
325 extern void free_scc(scc);
326 extern scc check_scc(scc);
327 extern bool scc_consistent_p(scc);
328 extern bool scc_defined_p(scc);
329 #define gen_SCC_cons gen_scc_cons
330 extern list gen_scc_cons(scc, list);
331 extern void scc_assign_contents(scc, scc);
332 extern void scc_non_recursive_free(scc);
333 extern void write_scc(FILE*, scc);
334 extern scc read_scc(FILE*);
335 extern scc make_scc(list, intptr_t);
336 
339  list _scc_vertices_; /* vertices:vertex* */
340  intptr_t _scc_indegree_; /* indegree:int */
341 };
342 
343 #define scc_domain_number(x) ((x)->_type_)
344 #define scc_vertices_(x) scc_vertices(x) /* old hack compatible */
345 #define scc_vertices(x) ((x)->_scc_vertices_)
346 #define scc_indegree_(x) scc_indegree(x) /* old hack compatible */
347 #define scc_indegree(x) ((x)->_scc_indegree_)
348 
349 #define dg_spec "\
350 --NEWGEN-START 224\n\
351 import statement from \"ri.newgen\";\n\
352 import effect from \"effects.newgen\";\n\
353 import vertex from \"graph.newgen\";\n\
354 external Ptsg;\n\
355 cone = levels:int* x generating_system:Ptsg;\n\
356 conflict = persistant source:effect x persistant sink:effect x cone:cone;\n\
357 dg_arc_label = conflicts:conflict*;\n\
358 dg_vertex_label = statement:int x sccflags:sccflags;\n\
359 sccflags = enclosing_scc:scc x mark:int x dfnumber:int x lowlink:int;\n\
360 sccs = sccs:scc*;\n\
361 scc = vertices:vertex* x indegree:int;\n\
362 "
363 #endif
dg_vertex_label check_dg_vertex_label(dg_vertex_label)
Definition: dg.c:150
struct _newgen_struct_effect_ * effect
Definition: dg.h:21
list gen_dg_vertex_label_cons(dg_vertex_label, list)
Definition: dg.c:160
bool scc_defined_p(scc)
Definition: dg.c:283
void sccflags_assign_contents(sccflags, sccflags)
Definition: dg.c:205
conflict read_conflict(FILE *)
Definition: dg.c:93
void free_cone(cone)
Definition: dg.c:21
sccs check_sccs(sccs)
Definition: dg.c:234
scc check_scc(scc)
Definition: dg.c:276
void conflict_non_recursive_free(conflict)
Definition: dg.c:86
struct _newgen_struct_statement_ * statement
Definition: dg.h:14
sccflags copy_sccflags(sccflags)
SCCFLAGS.
Definition: dg.c:186
cone make_cone(list, Ptsg)
Definition: dg.c:54
sccflags read_sccflags(FILE *)
Definition: dg.c:219
void write_dg_arc_label(FILE *, dg_arc_label)
Definition: dg.c:132
void write_conflict(FILE *, conflict)
Definition: dg.c:90
bool sccs_consistent_p(sccs)
Definition: dg.c:237
bool cone_consistent_p(cone)
Definition: dg.c:27
void free_sccflags(sccflags)
Definition: dg.c:189
conflict check_conflict(conflict)
Definition: dg.c:66
void sccflags_non_recursive_free(sccflags)
Definition: dg.c:212
void cone_non_recursive_free(cone)
Definition: dg.c:44
sccflags check_sccflags(sccflags)
Definition: dg.c:192
void scc_non_recursive_free(scc)
Definition: dg.c:296
void sccs_assign_contents(sccs, sccs)
Definition: dg.c:247
sccflags make_sccflags(scc, intptr_t, intptr_t, intptr_t)
Definition: dg.c:222
struct _newgen_struct_sccflags_ * sccflags
Definition: dg.h:76
void free_conflict(conflict)
Definition: dg.c:63
void write_sccs(FILE *, sccs)
Definition: dg.c:258
void write_dg_vertex_label(FILE *, dg_vertex_label)
Definition: dg.c:174
cone check_cone(cone)
Definition: dg.c:24
void cone_assign_contents(cone, cone)
Definition: dg.c:37
cone read_cone(FILE *)
Definition: dg.c:51
bool dg_arc_label_defined_p(dg_arc_label)
Definition: dg.c:115
scc make_scc(list, intptr_t)
Definition: dg.c:306
sccs read_sccs(FILE *)
Definition: dg.c:261
struct _newgen_struct_cone_ * cone
Definition: dg.h:44
struct _newgen_struct_sccs_ * sccs
Definition: dg.h:84
dg_arc_label make_dg_arc_label(list)
Definition: dg.c:138
bool cone_defined_p(cone)
Definition: dg.c:31
void scc_assign_contents(scc, scc)
Definition: dg.c:289
conflict make_conflict(effect, effect, cone)
Definition: dg.c:96
void dg_arc_label_assign_contents(dg_arc_label, dg_arc_label)
Definition: dg.c:121
sccs copy_sccs(sccs)
SCCS.
Definition: dg.c:228
void write_cone(FILE *, cone)
Definition: dg.c:48
list gen_scc_cons(scc, list)
Definition: dg.c:286
dg_arc_label read_dg_arc_label(FILE *)
Definition: dg.c:135
struct _newgen_struct_dg_arc_label_ * dg_arc_label
Definition: dg.h:60
list gen_sccflags_cons(sccflags, list)
Definition: dg.c:202
bool sccflags_consistent_p(sccflags)
Definition: dg.c:195
conflict copy_conflict(conflict)
CONFLICT.
Definition: dg.c:60
list gen_conflict_cons(conflict, list)
Definition: dg.c:76
bool dg_vertex_label_consistent_p(dg_vertex_label)
Definition: dg.c:153
dg_vertex_label copy_dg_vertex_label(dg_vertex_label)
DG_VERTEX_LABEL.
Definition: dg.c:144
void free_dg_vertex_label(dg_vertex_label)
Definition: dg.c:147
list gen_dg_arc_label_cons(dg_arc_label, list)
Definition: dg.c:118
bool dg_vertex_label_defined_p(dg_vertex_label)
Definition: dg.c:157
bool scc_consistent_p(scc)
Definition: dg.c:279
sccs make_sccs(list)
Definition: dg.c:264
list gen_cone_cons(cone, list)
Definition: dg.c:34
void dg_vertex_label_assign_contents(dg_vertex_label, dg_vertex_label)
Definition: dg.c:163
struct _newgen_struct_conflict_ * conflict
Definition: dg.h:52
bool sccflags_defined_p(sccflags)
Definition: dg.c:199
bool sccs_defined_p(sccs)
Definition: dg.c:241
void conflict_assign_contents(conflict, conflict)
Definition: dg.c:79
void write_scc(FILE *, scc)
Definition: dg.c:300
list gen_sccs_cons(sccs, list)
Definition: dg.c:244
void free_scc(scc)
Definition: dg.c:273
bool conflict_defined_p(conflict)
Definition: dg.c:73
dg_arc_label check_dg_arc_label(dg_arc_label)
Definition: dg.c:108
void dg_arc_label_non_recursive_free(dg_arc_label)
Definition: dg.c:128
scc read_scc(FILE *)
Definition: dg.c:303
struct _newgen_struct_dg_vertex_label_ * dg_vertex_label
Definition: dg.h:68
void sccs_non_recursive_free(sccs)
Definition: dg.c:254
void dg_vertex_label_non_recursive_free(dg_vertex_label)
Definition: dg.c:170
void free_sccs(sccs)
Definition: dg.c:231
dg_arc_label copy_dg_arc_label(dg_arc_label)
DG_ARC_LABEL.
Definition: dg.c:102
dg_vertex_label read_dg_vertex_label(FILE *)
Definition: dg.c:177
void write_sccflags(FILE *, sccflags)
Definition: dg.c:216
struct _newgen_struct_vertex_ * vertex
Definition: dg.h:28
struct _newgen_struct_scc_ * scc
Definition: dg.h:92
scc copy_scc(scc)
SCC.
Definition: dg.c:270
bool dg_arc_label_consistent_p(dg_arc_label)
Definition: dg.c:111
cone copy_cone(cone)
CONE.
Definition: dg.c:18
dg_vertex_label make_dg_vertex_label(intptr_t, sccflags)
Definition: dg.c:180
void free_dg_arc_label(dg_arc_label)
Definition: dg.c:105
bool conflict_consistent_p(conflict)
Definition: dg.c:69
#define intptr_t
Definition: stdint.in.h:294
intptr_t _type_
Definition: dg.h:121
list _cone_levels_
Definition: dg.h:122
Ptsg _cone_generating_system_
levels:int*
Definition: dg.h:123
effect _conflict_sink_
source:effect
Definition: dg.h:159
intptr_t _type_
Definition: dg.h:157
cone _conflict_cone_
sink:effect
Definition: dg.h:160
effect _conflict_source_
Definition: dg.h:158
sccflags _dg_vertex_label_sccflags_
statement:int
Definition: dg.h:230
intptr_t _dg_vertex_label_statement_
Definition: dg.h:229
intptr_t _scc_indegree_
vertices:vertex*
Definition: dg.h:340
list _scc_vertices_
Definition: dg.h:339
intptr_t _type_
Definition: dg.h:338
intptr_t _type_
Definition: dg.h:264
intptr_t _sccflags_lowlink_
dfnumber:int
Definition: dg.h:268
scc _sccflags_enclosing_scc_
Definition: dg.h:265
intptr_t _sccflags_dfnumber_
mark:int
Definition: dg.h:267
intptr_t _sccflags_mark_
enclosing_scc:scc
Definition: dg.h:266
list _sccs_holder_
Definition: dg.h:307
intptr_t _type_
Definition: dg.h:306
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.
Definition: sg-local.h:66