1 #ifndef _newgen_dg_included
2 #define _newgen_dg_included
3 #define _gen_dg_start 224
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)
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)
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)
31 #if !defined(_newgen_Ptsg_domain_defined_)
32 #define _newgen_Ptsg_domain_defined_
33 #define newgen_Ptsg(p) (p)
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)
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)
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)
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)
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)
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)
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)
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)
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)
112 #define gen_CONE_cons gen_cone_cons
126 #define cone_domain_number(x) ((x)->_type_)
127 #define cone_levels_(x) cone_levels(x)
128 #define cone_levels(x) ((x)->_cone_levels_)
129 #define cone_generating_system_(x) cone_generating_system(x)
130 #define cone_generating_system(x) ((x)->_cone_generating_system_)
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)
148 #define gen_CONFLICT_cons gen_conflict_cons
163 #define conflict_domain_number(x) ((x)->_type_)
164 #define conflict_source_(x) conflict_source(x)
165 #define conflict_source(x) ((x)->_conflict_source_)
166 #define conflict_sink_(x) conflict_sink(x)
167 #define conflict_sink(x) ((x)->_conflict_sink_)
168 #define conflict_cone_(x) conflict_cone(x)
169 #define conflict_cone(x) ((x)->_conflict_cone_)
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)
187 #define gen_DG_ARC_LABEL_cons gen_dg_arc_label_cons
200 #define dg_arc_label_domain_number(x) ((x)->_type_)
201 #define dg_arc_label_conflicts(x) ((x)->_dg_arc_label_holder_)
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)
219 #define gen_DG_VERTEX_LABEL_cons gen_dg_vertex_label_cons
233 #define dg_vertex_label_domain_number(x) ((x)->_type_)
234 #define dg_vertex_label_statement_(x) dg_vertex_label_statement(x)
235 #define dg_vertex_label_statement(x) ((x)->_dg_vertex_label_statement_)
236 #define dg_vertex_label_sccflags_(x) dg_vertex_label_sccflags(x)
237 #define dg_vertex_label_sccflags(x) ((x)->_dg_vertex_label_sccflags_)
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)
255 #define gen_SCCFLAGS_cons gen_sccflags_cons
271 #define sccflags_domain_number(x) ((x)->_type_)
272 #define sccflags_enclosing_scc_(x) sccflags_enclosing_scc(x)
273 #define sccflags_enclosing_scc(x) ((x)->_sccflags_enclosing_scc_)
274 #define sccflags_mark_(x) sccflags_mark(x)
275 #define sccflags_mark(x) ((x)->_sccflags_mark_)
276 #define sccflags_dfnumber_(x) sccflags_dfnumber(x)
277 #define sccflags_dfnumber(x) ((x)->_sccflags_dfnumber_)
278 #define sccflags_lowlink_(x) sccflags_lowlink(x)
279 #define sccflags_lowlink(x) ((x)->_sccflags_lowlink_)
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)
297 #define gen_SCCS_cons gen_sccs_cons
310 #define sccs_domain_number(x) ((x)->_type_)
311 #define sccs_sccs(x) ((x)->_sccs_holder_)
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)
321 #define scc_undefined ((scc)gen_chunk_undefined)
322 #define scc_undefined_p(x) ((x)==scc_undefined)
329 #define gen_SCC_cons gen_scc_cons
343 #define scc_domain_number(x) ((x)->_type_)
344 #define scc_vertices_(x) scc_vertices(x)
345 #define scc_vertices(x) ((x)->_scc_vertices_)
346 #define scc_indegree_(x) scc_indegree(x)
347 #define scc_indegree(x) ((x)->_scc_indegree_)
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\
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\
361 scc = vertices:vertex* x indegree:int;\n\
dg_vertex_label check_dg_vertex_label(dg_vertex_label)
struct _newgen_struct_effect_ * effect
list gen_dg_vertex_label_cons(dg_vertex_label, list)
void sccflags_assign_contents(sccflags, sccflags)
conflict read_conflict(FILE *)
void conflict_non_recursive_free(conflict)
struct _newgen_struct_statement_ * statement
sccflags copy_sccflags(sccflags)
SCCFLAGS.
cone make_cone(list, Ptsg)
sccflags read_sccflags(FILE *)
void write_dg_arc_label(FILE *, dg_arc_label)
void write_conflict(FILE *, conflict)
bool sccs_consistent_p(sccs)
bool cone_consistent_p(cone)
void free_sccflags(sccflags)
conflict check_conflict(conflict)
void sccflags_non_recursive_free(sccflags)
void cone_non_recursive_free(cone)
sccflags check_sccflags(sccflags)
void scc_non_recursive_free(scc)
void sccs_assign_contents(sccs, sccs)
sccflags make_sccflags(scc, intptr_t, intptr_t, intptr_t)
struct _newgen_struct_sccflags_ * sccflags
void free_conflict(conflict)
void write_sccs(FILE *, sccs)
void write_dg_vertex_label(FILE *, dg_vertex_label)
void cone_assign_contents(cone, cone)
bool dg_arc_label_defined_p(dg_arc_label)
scc make_scc(list, intptr_t)
struct _newgen_struct_cone_ * cone
struct _newgen_struct_sccs_ * sccs
dg_arc_label make_dg_arc_label(list)
bool cone_defined_p(cone)
void scc_assign_contents(scc, scc)
conflict make_conflict(effect, effect, cone)
void dg_arc_label_assign_contents(dg_arc_label, dg_arc_label)
sccs copy_sccs(sccs)
SCCS.
void write_cone(FILE *, cone)
list gen_scc_cons(scc, list)
dg_arc_label read_dg_arc_label(FILE *)
struct _newgen_struct_dg_arc_label_ * dg_arc_label
list gen_sccflags_cons(sccflags, list)
bool sccflags_consistent_p(sccflags)
conflict copy_conflict(conflict)
CONFLICT.
list gen_conflict_cons(conflict, list)
bool dg_vertex_label_consistent_p(dg_vertex_label)
dg_vertex_label copy_dg_vertex_label(dg_vertex_label)
DG_VERTEX_LABEL.
void free_dg_vertex_label(dg_vertex_label)
list gen_dg_arc_label_cons(dg_arc_label, list)
bool dg_vertex_label_defined_p(dg_vertex_label)
bool scc_consistent_p(scc)
list gen_cone_cons(cone, list)
void dg_vertex_label_assign_contents(dg_vertex_label, dg_vertex_label)
struct _newgen_struct_conflict_ * conflict
bool sccflags_defined_p(sccflags)
bool sccs_defined_p(sccs)
void conflict_assign_contents(conflict, conflict)
void write_scc(FILE *, scc)
list gen_sccs_cons(sccs, list)
bool conflict_defined_p(conflict)
dg_arc_label check_dg_arc_label(dg_arc_label)
void dg_arc_label_non_recursive_free(dg_arc_label)
struct _newgen_struct_dg_vertex_label_ * dg_vertex_label
void sccs_non_recursive_free(sccs)
void dg_vertex_label_non_recursive_free(dg_vertex_label)
dg_arc_label copy_dg_arc_label(dg_arc_label)
DG_ARC_LABEL.
dg_vertex_label read_dg_vertex_label(FILE *)
void write_sccflags(FILE *, sccflags)
struct _newgen_struct_vertex_ * vertex
struct _newgen_struct_scc_ * scc
bool dg_arc_label_consistent_p(dg_arc_label)
cone copy_cone(cone)
CONE.
dg_vertex_label make_dg_vertex_label(intptr_t, sccflags)
void free_dg_arc_label(dg_arc_label)
bool conflict_consistent_p(conflict)
Ptsg _cone_generating_system_
levels:int*
effect _conflict_sink_
source:effect
cone _conflict_cone_
sink:effect
list _dg_arc_label_holder_
sccflags _dg_vertex_label_sccflags_
statement:int
intptr_t _dg_vertex_label_statement_
intptr_t _scc_indegree_
vertices:vertex*
intptr_t _sccflags_lowlink_
dfnumber:int
scc _sccflags_enclosing_scc_
intptr_t _sccflags_dfnumber_
mark:int
intptr_t _sccflags_mark_
enclosing_scc:scc
The structure used to build lists in NewGen.
Representation d'un systeme generateur par trois ensembles de sommets de rayons et de droites.