PIPS
freia_spoc_private.h
Go to the documentation of this file.
1 #ifndef _newgen_freia_spoc_private_included
2 #define _newgen_freia_spoc_private_included
3 #define _gen_freia_spoc_private_start 123
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_entity_domain_defined_)
11 #define _newgen_entity_domain_defined_
12 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
13 #define entity_NEWGEN_DOMAIN (entity_domain)
14 typedef struct _newgen_struct_entity_ * entity;
15 #endif /* _newgen_entity_domain_defined_ */
16 
17 #if !defined(_newgen_statement_domain_defined_)
18 #define _newgen_statement_domain_defined_
19 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
20 #define statement_NEWGEN_DOMAIN (statement_domain)
22 #endif /* _newgen_statement_domain_defined_ */
23 
24 #define dag_domain (_gen_freia_spoc_private_start+0)
25 #if !defined(_newgen_dag_domain_defined_)
26 #define _newgen_dag_domain_defined_
27 #define DAG_NEWGEN_DOMAIN (dag_domain)
28 #define dag_NEWGEN_DOMAIN (dag_domain)
29 typedef struct _newgen_struct_dag_ * dag;
30 #endif /* _newgen_dag_domain_defined_ */
31 
32 #define dagvtx_domain (_gen_freia_spoc_private_start+1)
33 #if !defined(_newgen_dagvtx_domain_defined_)
34 #define _newgen_dagvtx_domain_defined_
35 #define DAGVTX_NEWGEN_DOMAIN (dagvtx_domain)
36 #define dagvtx_NEWGEN_DOMAIN (dagvtx_domain)
37 typedef struct _newgen_struct_dagvtx_ * dagvtx;
38 #endif /* _newgen_dagvtx_domain_defined_ */
39 
40 #define pstatement_domain (_gen_freia_spoc_private_start+2)
41 #if !defined(_newgen_pstatement_domain_defined_)
42 #define _newgen_pstatement_domain_defined_
43 #define PSTATEMENT_NEWGEN_DOMAIN (pstatement_domain)
44 #define pstatement_NEWGEN_DOMAIN (pstatement_domain)
46 #endif /* _newgen_pstatement_domain_defined_ */
47 
48 #define vtxcontent_domain (_gen_freia_spoc_private_start+3)
49 #if !defined(_newgen_vtxcontent_domain_defined_)
50 #define _newgen_vtxcontent_domain_defined_
51 #define VTXCONTENT_NEWGEN_DOMAIN (vtxcontent_domain)
52 #define vtxcontent_NEWGEN_DOMAIN (vtxcontent_domain)
54 #endif /* _newgen_vtxcontent_domain_defined_ */
55 
56 /* DAG
57  */
58 #define DAG(x) ((dag)((x).p))
59 #define dag_CAST(x) DAG(x)
60 #define DAG_CAST(x) DAG(x)
61 #define DAG_(x) ((x).e)
62 #define DAG_TYPE dag
63 #define dag_TYPE dag
64 #define dag_undefined ((dag)gen_chunk_undefined)
65 #define dag_undefined_p(x) ((x)==dag_undefined)
66 
67 extern dag copy_dag(dag);
68 extern void free_dag(dag);
69 extern dag check_dag(dag);
70 extern bool dag_consistent_p(dag);
71 extern bool dag_defined_p(dag);
72 #define gen_DAG_cons gen_dag_cons
73 extern list gen_dag_cons(dag, list);
74 extern void dag_assign_contents(dag, dag);
75 extern void dag_non_recursive_free(dag);
76 extern void write_dag(FILE*, dag);
77 extern dag read_dag(FILE*);
78 extern dag make_dag(list, list, list);
79 
82  list _dag_inputs_; /* inputs:dagvtx* */
83  list _dag_outputs_; /* outputs:dagvtx* */
84  list _dag_vertices_; /* vertices:dagvtx* */
85 };
86 
87 #define dag_domain_number(x) ((x)->_type_)
88 #define dag_inputs_(x) dag_inputs(x) /* old hack compatible */
89 #define dag_inputs(x) ((x)->_dag_inputs_)
90 #define dag_outputs_(x) dag_outputs(x) /* old hack compatible */
91 #define dag_outputs(x) ((x)->_dag_outputs_)
92 #define dag_vertices_(x) dag_vertices(x) /* old hack compatible */
93 #define dag_vertices(x) ((x)->_dag_vertices_)
94 
95 /* DAGVTX
96  */
97 #define DAGVTX(x) ((dagvtx)((x).p))
98 #define dagvtx_CAST(x) DAGVTX(x)
99 #define DAGVTX_CAST(x) DAGVTX(x)
100 #define DAGVTX_(x) ((x).e)
101 #define DAGVTX_TYPE dagvtx
102 #define dagvtx_TYPE dagvtx
103 #define dagvtx_undefined ((dagvtx)gen_chunk_undefined)
104 #define dagvtx_undefined_p(x) ((x)==dagvtx_undefined)
105 
106 extern dagvtx copy_dagvtx(dagvtx);
107 extern void free_dagvtx(dagvtx);
108 extern dagvtx check_dagvtx(dagvtx);
109 extern bool dagvtx_consistent_p(dagvtx);
110 extern bool dagvtx_defined_p(dagvtx);
111 #define gen_DAGVTX_cons gen_dagvtx_cons
113 extern void dagvtx_assign_contents(dagvtx, dagvtx);
114 extern void dagvtx_non_recursive_free(dagvtx);
115 extern void write_dagvtx(FILE*, dagvtx);
116 extern dagvtx read_dagvtx(FILE*);
118 
121  vtxcontent _dagvtx_content_; /* content:vtxcontent */
122  list _dagvtx_succs_; /* succs:dagvtx* */
123 };
124 
125 #define dagvtx_domain_number(x) ((x)->_type_)
126 #define dagvtx_content_(x) dagvtx_content(x) /* old hack compatible */
127 #define dagvtx_content(x) ((x)->_dagvtx_content_)
128 #define dagvtx_succs_(x) dagvtx_succs(x) /* old hack compatible */
129 #define dagvtx_succs(x) ((x)->_dagvtx_succs_)
130 
131 /* PSTATEMENT
132  */
133 #define PSTATEMENT(x) ((pstatement)((x).p))
134 #define pstatement_CAST(x) PSTATEMENT(x)
135 #define PSTATEMENT_CAST(x) PSTATEMENT(x)
136 #define PSTATEMENT_(x) ((x).e)
137 #define PSTATEMENT_TYPE pstatement
138 #define pstatement_TYPE pstatement
139 #define pstatement_undefined ((pstatement)gen_chunk_undefined)
140 #define pstatement_undefined_p(x) ((x)==pstatement_undefined)
141 
143 extern void free_pstatement(pstatement);
146 extern bool pstatement_defined_p(pstatement);
147 #define gen_PSTATEMENT_cons gen_pstatement_cons
151 extern void write_pstatement(FILE*, pstatement);
152 extern pstatement read_pstatement(FILE*);
156 };
157 extern string pstatement_tag_as_string(enum pstatement_utype);
158 extern pstatement make_pstatement(enum pstatement_utype, void *);
160 extern pstatement make_pstatement_empty(void);
161 
165  union {
166  statement _pstatement_statement_; /* statement:statement */
167  gen_chunk _pstatement_empty_; /* empty:unit */
169 };
170 
171 #define pstatement_domain_number(x) ((x)->_type_)
172 #define pstatement_tag(x) ((x)->_pstatement_tag__)
173 #define pstatement_statement_p(x) (pstatement_tag(x)==is_pstatement_statement)
174 #define pstatement_statement_(x) pstatement_statement(x) /* old hack compatible */
175 #define pstatement_statement(x) ((x)->_pstatement_union_._pstatement_statement_)
176 #define pstatement_empty_p(x) (pstatement_tag(x)==is_pstatement_empty)
177 #define pstatement_empty_(x) pstatement_empty(x) /* old hack compatible */
178 #define pstatement_empty(x) ((x)->_pstatement_union_._pstatement_empty_.u)
179 
180 /* VTXCONTENT
181  */
182 #define VTXCONTENT(x) ((vtxcontent)((x).p))
183 #define vtxcontent_CAST(x) VTXCONTENT(x)
184 #define VTXCONTENT_CAST(x) VTXCONTENT(x)
185 #define VTXCONTENT_(x) ((x).e)
186 #define VTXCONTENT_TYPE vtxcontent
187 #define vtxcontent_TYPE vtxcontent
188 #define vtxcontent_undefined ((vtxcontent)gen_chunk_undefined)
189 #define vtxcontent_undefined_p(x) ((x)==vtxcontent_undefined)
190 
192 extern void free_vtxcontent(vtxcontent);
195 extern bool vtxcontent_defined_p(vtxcontent);
196 #define gen_VTXCONTENT_cons gen_vtxcontent_cons
200 extern void write_vtxcontent(FILE*, vtxcontent);
201 extern vtxcontent read_vtxcontent(FILE*);
203 
206  intptr_t _vtxcontent_optype_; /* optype:int */
207  intptr_t _vtxcontent_opid_; /* opid:int */
208  pstatement _vtxcontent_source_; /* source:pstatement */
209  list _vtxcontent_inputs_; /* inputs:entity* */
210  entity _vtxcontent_out_; /* out:entity */
211 };
212 
213 #define vtxcontent_domain_number(x) ((x)->_type_)
214 #define vtxcontent_optype_(x) vtxcontent_optype(x) /* old hack compatible */
215 #define vtxcontent_optype(x) ((x)->_vtxcontent_optype_)
216 #define vtxcontent_opid_(x) vtxcontent_opid(x) /* old hack compatible */
217 #define vtxcontent_opid(x) ((x)->_vtxcontent_opid_)
218 #define vtxcontent_source_(x) vtxcontent_source(x) /* old hack compatible */
219 #define vtxcontent_source(x) ((x)->_vtxcontent_source_)
220 #define vtxcontent_inputs_(x) vtxcontent_inputs(x) /* old hack compatible */
221 #define vtxcontent_inputs(x) ((x)->_vtxcontent_inputs_)
222 #define vtxcontent_out_(x) vtxcontent_out(x) /* old hack compatible */
223 #define vtxcontent_out(x) ((x)->_vtxcontent_out_)
224 
225 #define freia_spoc_private_spec "\
226 --NEWGEN-START 123\n\
227 import entity from \"ri.newgen\";\n\
228 import statement from \"ri.newgen\";\n\
229 dag = inputs:dagvtx* x outputs:dagvtx* x vertices:dagvtx*;\n\
230 dagvtx = content:vtxcontent x succs:dagvtx*;\n\
231 pstatement = persistant statement:statement + empty:unit;\n\
232 vtxcontent = optype:int x opid:int x source:pstatement x inputs:entity* x out:entity;\n\
233 "
234 #endif
bool dag_defined_p(dag)
vtxcontent check_vtxcontent(vtxcontent)
void dag_non_recursive_free(dag)
void free_dagvtx(dagvtx)
pstatement check_pstatement(pstatement)
pstatement make_pstatement_empty(void)
struct _newgen_struct_statement_ * statement
pstatement make_pstatement(enum pstatement_utype, void *)
dagvtx copy_dagvtx(dagvtx)
DAGVTX.
pstatement copy_pstatement(pstatement)
PSTATEMENT.
void vtxcontent_non_recursive_free(vtxcontent)
dagvtx make_dagvtx(vtxcontent, list)
vtxcontent make_vtxcontent(intptr_t, intptr_t, pstatement, list, entity)
bool pstatement_consistent_p(pstatement)
pstatement_utype
@ is_pstatement_empty
@ is_pstatement_statement
void free_vtxcontent(vtxcontent)
vtxcontent read_vtxcontent(FILE *)
vtxcontent copy_vtxcontent(vtxcontent)
VTXCONTENT.
string pstatement_tag_as_string(enum pstatement_utype)
dag check_dag(dag)
struct _newgen_struct_pstatement_ * pstatement
void dag_assign_contents(dag, dag)
list gen_dagvtx_cons(dagvtx, list)
dag make_dag(list, list, list)
void vtxcontent_assign_contents(vtxcontent, vtxcontent)
void dagvtx_non_recursive_free(dagvtx)
bool pstatement_defined_p(pstatement)
void write_pstatement(FILE *, pstatement)
struct _newgen_struct_dagvtx_ * dagvtx
bool vtxcontent_defined_p(vtxcontent)
bool dagvtx_defined_p(dagvtx)
pstatement read_pstatement(FILE *)
list gen_pstatement_cons(pstatement, list)
dagvtx read_dagvtx(FILE *)
void free_dag(dag)
list gen_dag_cons(dag, list)
void dagvtx_assign_contents(dagvtx, dagvtx)
void write_dagvtx(FILE *, dagvtx)
bool vtxcontent_consistent_p(vtxcontent)
pstatement make_pstatement_statement(statement)
void free_pstatement(pstatement)
void write_vtxcontent(FILE *, vtxcontent)
dagvtx check_dagvtx(dagvtx)
bool dagvtx_consistent_p(dagvtx)
void write_dag(FILE *, dag)
struct _newgen_struct_entity_ * entity
dag read_dag(FILE *)
void pstatement_non_recursive_free(pstatement)
void pstatement_assign_contents(pstatement, pstatement)
struct _newgen_struct_vtxcontent_ * vtxcontent
bool dag_consistent_p(dag)
list gen_vtxcontent_cons(vtxcontent, list)
struct _newgen_struct_dag_ * dag
dag copy_dag(dag)
DAG.
#define intptr_t
Definition: stdint.in.h:294
list _dag_outputs_
inputs:dagvtx*
list _dag_vertices_
outputs:dagvtx*
list _dagvtx_succs_
content:vtxcontent
enum pstatement_utype _pstatement_tag__
union _newgen_struct_pstatement_::@53 _pstatement_union_
gen_chunk _pstatement_empty_
statement:statement
list _vtxcontent_inputs_
source:pstatement
pstatement _vtxcontent_source_
opid:int
intptr_t _vtxcontent_opid_
optype:int
entity _vtxcontent_out_
inputs:entity*
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
A gen_chunk is used to store every object.
Definition: genC.h:58