PIPS
parser_private.h
Go to the documentation of this file.
1 #ifndef _newgen_parser_private_included
2 #define _newgen_parser_private_included
3 #define _gen_parser_private_start 108
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_constant_domain_defined_)
18 #define _newgen_constant_domain_defined_
19 #define CONSTANT_NEWGEN_DOMAIN (constant_domain)
20 #define constant_NEWGEN_DOMAIN (constant_domain)
22 #endif /* _newgen_constant_domain_defined_ */
23 
24 #define atom_domain (_gen_parser_private_start+0)
25 #if !defined(_newgen_atom_domain_defined_)
26 #define _newgen_atom_domain_defined_
27 #define ATOM_NEWGEN_DOMAIN (atom_domain)
28 #define atom_NEWGEN_DOMAIN (atom_domain)
29 typedef struct _newgen_struct_atom_ * atom;
30 #endif /* _newgen_atom_domain_defined_ */
31 
32 #define chain_domain (_gen_parser_private_start+1)
33 #if !defined(_newgen_chain_domain_defined_)
34 #define _newgen_chain_domain_defined_
35 #define CHAIN_NEWGEN_DOMAIN (chain_domain)
36 #define chain_NEWGEN_DOMAIN (chain_domain)
37 typedef struct _newgen_struct_chain_ * chain;
38 #endif /* _newgen_chain_domain_defined_ */
39 
40 #define data_domain (_gen_parser_private_start+2)
41 #if !defined(_newgen_data_domain_defined_)
42 #define _newgen_data_domain_defined_
43 #define DATA_NEWGEN_DOMAIN (data_domain)
44 #define data_NEWGEN_DOMAIN (data_domain)
45 typedef struct _newgen_struct_data_ * data;
46 #endif /* _newgen_data_domain_defined_ */
47 
48 #define dataval_domain (_gen_parser_private_start+3)
49 #if !defined(_newgen_dataval_domain_defined_)
50 #define _newgen_dataval_domain_defined_
51 #define DATAVAL_NEWGEN_DOMAIN (dataval_domain)
52 #define dataval_NEWGEN_DOMAIN (dataval_domain)
54 #endif /* _newgen_dataval_domain_defined_ */
55 
56 #define datavar_domain (_gen_parser_private_start+4)
57 #if !defined(_newgen_datavar_domain_defined_)
58 #define _newgen_datavar_domain_defined_
59 #define DATAVAR_NEWGEN_DOMAIN (datavar_domain)
60 #define datavar_NEWGEN_DOMAIN (datavar_domain)
62 #endif /* _newgen_datavar_domain_defined_ */
63 
64 #define equivalences_domain (_gen_parser_private_start+5)
65 #if !defined(_newgen_equivalences_domain_defined_)
66 #define _newgen_equivalences_domain_defined_
67 #define EQUIVALENCES_NEWGEN_DOMAIN (equivalences_domain)
68 #define equivalences_NEWGEN_DOMAIN (equivalences_domain)
70 #endif /* _newgen_equivalences_domain_defined_ */
71 
72 /* ATOM
73  */
74 #define ATOM(x) ((atom)((x).p))
75 #define atom_CAST(x) ATOM(x)
76 #define ATOM_CAST(x) ATOM(x)
77 #define ATOM_(x) ((x).e)
78 #define ATOM_TYPE atom
79 #define atom_TYPE atom
80 #define atom_undefined ((atom)gen_chunk_undefined)
81 #define atom_undefined_p(x) ((x)==atom_undefined)
82 
83 extern atom copy_atom(atom);
84 extern void free_atom(atom);
85 extern atom check_atom(atom);
86 extern bool atom_consistent_p(atom);
87 extern bool atom_defined_p(atom);
88 #define gen_ATOM_cons gen_atom_cons
89 extern list gen_atom_cons(atom, list);
90 extern void atom_assign_contents(atom, atom);
91 extern void atom_non_recursive_free(atom);
92 extern void write_atom(FILE*, atom);
93 extern atom read_atom(FILE*);
94 extern atom make_atom(entity, intptr_t);
95 
98  entity _atom_equivar_; /* equivar:entity */
99  intptr_t _atom_equioff_; /* equioff:int */
100 };
101 
102 #define atom_domain_number(x) ((x)->_type_)
103 #define atom_equivar_(x) atom_equivar(x) /* old hack compatible */
104 #define atom_equivar(x) ((x)->_atom_equivar_)
105 #define atom_equioff_(x) atom_equioff(x) /* old hack compatible */
106 #define atom_equioff(x) ((x)->_atom_equioff_)
107 
108 /* CHAIN
109  */
110 #define CHAIN(x) ((chain)((x).p))
111 #define chain_CAST(x) CHAIN(x)
112 #define CHAIN_CAST(x) CHAIN(x)
113 #define CHAIN_(x) ((x).e)
114 #define CHAIN_TYPE chain
115 #define chain_TYPE chain
116 #define chain_undefined ((chain)gen_chunk_undefined)
117 #define chain_undefined_p(x) ((x)==chain_undefined)
118 
119 extern chain copy_chain(chain);
120 extern void free_chain(chain);
121 extern chain check_chain(chain);
122 extern bool chain_consistent_p(chain);
123 extern bool chain_defined_p(chain);
124 #define gen_CHAIN_cons gen_chain_cons
125 extern list gen_chain_cons(chain, list);
126 extern void chain_assign_contents(chain, chain);
127 extern void chain_non_recursive_free(chain);
128 extern void write_chain(FILE*, chain);
129 extern chain read_chain(FILE*);
130 extern chain make_chain(list);
131 
135 };
136 
137 #define chain_domain_number(x) ((x)->_type_)
138 #define chain_atoms(x) ((x)->_chain_holder_)
139 
140 /* DATA
141  */
142 #define DATA(x) ((data)((x).p))
143 #define data_CAST(x) DATA(x)
144 #define DATA_CAST(x) DATA(x)
145 #define DATA_(x) ((x).e)
146 #define DATA_TYPE data
147 #define data_TYPE data
148 #define data_undefined ((data)gen_chunk_undefined)
149 #define data_undefined_p(x) ((x)==data_undefined)
150 
151 extern data copy_data(data);
152 extern void free_data(data);
153 extern data check_data(data);
154 extern bool data_consistent_p(data);
155 extern bool data_defined_p(data);
156 #define gen_DATA_cons gen_data_cons
157 extern list gen_data_cons(data, list);
158 extern void data_assign_contents(data, data);
159 extern void data_non_recursive_free(data);
160 extern void write_data(FILE*, data);
161 extern data read_data(FILE*);
162 extern data make_data(list, list);
163 
166  list _data_datavars_; /* datavars:datavar* */
167  list _data_datavals_; /* datavals:dataval* */
168 };
169 
170 #define data_domain_number(x) ((x)->_type_)
171 #define data_datavars_(x) data_datavars(x) /* old hack compatible */
172 #define data_datavars(x) ((x)->_data_datavars_)
173 #define data_datavals_(x) data_datavals(x) /* old hack compatible */
174 #define data_datavals(x) ((x)->_data_datavals_)
175 
176 /* DATAVAL
177  */
178 #define DATAVAL(x) ((dataval)((x).p))
179 #define dataval_CAST(x) DATAVAL(x)
180 #define DATAVAL_CAST(x) DATAVAL(x)
181 #define DATAVAL_(x) ((x).e)
182 #define DATAVAL_TYPE dataval
183 #define dataval_TYPE dataval
184 #define dataval_undefined ((dataval)gen_chunk_undefined)
185 #define dataval_undefined_p(x) ((x)==dataval_undefined)
186 
188 extern void free_dataval(dataval);
190 extern bool dataval_consistent_p(dataval);
191 extern bool dataval_defined_p(dataval);
192 #define gen_DATAVAL_cons gen_dataval_cons
196 extern void write_dataval(FILE*, dataval);
197 extern dataval read_dataval(FILE*);
199 
202  constant _dataval_constant_; /* constant:constant */
203  intptr_t _dataval_nboccurrences_; /* nboccurrences:int */
204 };
205 
206 #define dataval_domain_number(x) ((x)->_type_)
207 #define dataval_constant_(x) dataval_constant(x) /* old hack compatible */
208 #define dataval_constant(x) ((x)->_dataval_constant_)
209 #define dataval_nboccurrences_(x) dataval_nboccurrences(x) /* old hack compatible */
210 #define dataval_nboccurrences(x) ((x)->_dataval_nboccurrences_)
211 
212 /* DATAVAR
213  */
214 #define DATAVAR(x) ((datavar)((x).p))
215 #define datavar_CAST(x) DATAVAR(x)
216 #define DATAVAR_CAST(x) DATAVAR(x)
217 #define DATAVAR_(x) ((x).e)
218 #define DATAVAR_TYPE datavar
219 #define datavar_TYPE datavar
220 #define datavar_undefined ((datavar)gen_chunk_undefined)
221 #define datavar_undefined_p(x) ((x)==datavar_undefined)
222 
224 extern void free_datavar(datavar);
226 extern bool datavar_consistent_p(datavar);
227 extern bool datavar_defined_p(datavar);
228 #define gen_DATAVAR_cons gen_datavar_cons
232 extern void write_datavar(FILE*, datavar);
233 extern datavar read_datavar(FILE*);
235 
238  entity _datavar_variable_; /* variable:entity */
239  intptr_t _datavar_nbelements_; /* nbelements:int */
240 };
241 
242 #define datavar_domain_number(x) ((x)->_type_)
243 #define datavar_variable_(x) datavar_variable(x) /* old hack compatible */
244 #define datavar_variable(x) ((x)->_datavar_variable_)
245 #define datavar_nbelements_(x) datavar_nbelements(x) /* old hack compatible */
246 #define datavar_nbelements(x) ((x)->_datavar_nbelements_)
247 
248 /* EQUIVALENCES
249  */
250 #define EQUIVALENCES(x) ((equivalences)((x).p))
251 #define equivalences_CAST(x) EQUIVALENCES(x)
252 #define EQUIVALENCES_CAST(x) EQUIVALENCES(x)
253 #define EQUIVALENCES_(x) ((x).e)
254 #define EQUIVALENCES_TYPE equivalences
255 #define equivalences_TYPE equivalences
256 #define equivalences_undefined ((equivalences)gen_chunk_undefined)
257 #define equivalences_undefined_p(x) ((x)==equivalences_undefined)
258 
260 extern void free_equivalences(equivalences);
264 #define gen_EQUIVALENCES_cons gen_equivalences_cons
268 extern void write_equivalences(FILE*, equivalences);
269 extern equivalences read_equivalences(FILE*);
271 
275 };
276 
277 #define equivalences_domain_number(x) ((x)->_type_)
278 #define equivalences_chains(x) ((x)->_equivalences_holder_)
279 
280 #define parser_private_spec "\
281 --NEWGEN-START 108\n\
282 import entity from \"ri.newgen\";\n\
283 import constant from \"ri.newgen\";\n\
284 atom = equivar:entity x equioff:int;\n\
285 chain = atoms:atom*;\n\
286 data = datavars:datavar* x datavals:dataval*;\n\
287 dataval = constant:constant x nboccurrences:int;\n\
288 datavar = variable:entity x nbelements:int;\n\
289 equivalences = chains:chain*;\n\
290 "
291 #endif
equivalences make_equivalences(list)
void write_datavar(FILE *, datavar)
bool equivalences_consistent_p(equivalences)
list gen_atom_cons(atom, list)
list gen_dataval_cons(dataval, list)
bool atom_consistent_p(atom)
void dataval_assign_contents(dataval, dataval)
list gen_chain_cons(chain, list)
bool dataval_consistent_p(dataval)
void free_data(data)
void chain_assign_contents(chain, chain)
void write_equivalences(FILE *, equivalences)
struct _newgen_struct_data_ * data
dataval check_dataval(dataval)
bool datavar_defined_p(datavar)
data copy_data(data)
DATA.
void chain_non_recursive_free(chain)
bool data_consistent_p(data)
bool chain_consistent_p(chain)
void atom_assign_contents(atom, atom)
equivalences read_equivalences(FILE *)
void write_atom(FILE *, atom)
struct _newgen_struct_equivalences_ * equivalences
chain make_chain(list)
void datavar_assign_contents(datavar, datavar)
dataval copy_dataval(dataval)
DATAVAL.
void free_datavar(datavar)
void equivalences_assign_contents(equivalences, equivalences)
void write_data(FILE *, data)
void free_atom(atom)
struct _newgen_struct_chain_ * chain
void atom_non_recursive_free(atom)
datavar read_datavar(FILE *)
list gen_data_cons(data, list)
void free_chain(chain)
void datavar_non_recursive_free(datavar)
chain read_chain(FILE *)
list gen_equivalences_cons(equivalences, list)
list gen_datavar_cons(datavar, list)
struct _newgen_struct_constant_ * constant
void data_assign_contents(data, data)
atom make_atom(entity, intptr_t)
data read_data(FILE *)
void free_dataval(dataval)
bool equivalences_defined_p(equivalences)
datavar check_datavar(datavar)
void write_chain(FILE *, chain)
bool data_defined_p(data)
datavar make_datavar(entity, intptr_t)
data make_data(list, list)
equivalences copy_equivalences(equivalences)
EQUIVALENCES.
void free_equivalences(equivalences)
equivalences check_equivalences(equivalences)
dataval read_dataval(FILE *)
void dataval_non_recursive_free(dataval)
atom check_atom(atom)
bool chain_defined_p(chain)
void data_non_recursive_free(data)
chain check_chain(chain)
atom read_atom(FILE *)
struct _newgen_struct_atom_ * atom
datavar copy_datavar(datavar)
DATAVAR.
struct _newgen_struct_datavar_ * datavar
struct _newgen_struct_dataval_ * dataval
struct _newgen_struct_entity_ * entity
bool datavar_consistent_p(datavar)
dataval make_dataval(constant, intptr_t)
atom copy_atom(atom)
ATOM.
data check_data(data)
chain copy_chain(chain)
CHAIN.
bool dataval_defined_p(dataval)
void equivalences_non_recursive_free(equivalences)
bool atom_defined_p(atom)
void write_dataval(FILE *, dataval)
#define intptr_t
Definition: stdint.in.h:294
intptr_t _atom_equioff_
equivar:entity
list _data_datavals_
datavars:datavar*
intptr_t _dataval_nboccurrences_
constant:constant
intptr_t _datavar_nbelements_
variable:entity
The structure used to build lists in NewGen.
Definition: newgen_list.h:41