PIPS
parser_private.c
Go to the documentation of this file.
1 /*
2  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
3  *
4  * PLEASE DO NOT MODIFY IT.
5  */
6 
7 
8 #include <stdio.h>
9 #include <stdlib.h>
10 #include <string.h>
11 #include "genC.h"
12 #include "parser_private.h"
13 
14 /* ATOM
15  */
17  return (atom) gen_copy_tree((gen_chunk*) p);
18 }
19 void free_atom(atom p) {
20  gen_free((gen_chunk*) p);
21 }
23  return (atom) gen_check((gen_chunk*) p, atom_domain);
24 }
26  check_atom(p);
27  return gen_consistent_p((gen_chunk*) p);
28 }
30  return gen_defined_p((gen_chunk*) p);
31 }
33  return gen_typed_cons(ATOM_NEWGEN_DOMAIN, p, l);
34 }
36  check_atom(r);
37  check_atom(v);
38  message_assert("defined references to domain atom",
40  memcpy(r, v, sizeof(struct _newgen_struct_atom_));
41 }
43  // should clear up contents...
44  free(p);
45 }
46 void write_atom(FILE* f, atom p) {
47  gen_write(f, (gen_chunk*) p);
48 }
49 atom read_atom(FILE* f) {
50  return (atom) gen_read(f);
51 }
53  return (atom) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, atom_domain, a1, a2);
54 }
55 
56 /* CHAIN
57  */
59  return (chain) gen_copy_tree((gen_chunk*) p);
60 }
61 void free_chain(chain p) {
62  gen_free((gen_chunk*) p);
63 }
65  return (chain) gen_check((gen_chunk*) p, chain_domain);
66 }
68  check_chain(p);
69  return gen_consistent_p((gen_chunk*) p);
70 }
72  return gen_defined_p((gen_chunk*) p);
73 }
75  return gen_typed_cons(CHAIN_NEWGEN_DOMAIN, p, l);
76 }
78  check_chain(r);
79  check_chain(v);
80  message_assert("defined references to domain chain",
82  memcpy(r, v, sizeof(struct _newgen_struct_chain_));
83 }
85  // should clear up contents...
86  free(p);
87 }
88 void write_chain(FILE* f, chain p) {
89  gen_write(f, (gen_chunk*) p);
90 }
91 chain read_chain(FILE* f) {
92  return (chain) gen_read(f);
93 }
95  return (chain) gen_alloc(2*sizeof(gen_chunk), GEN_CHECK_ALLOC, chain_domain, a);
96 }
97 
98 /* DATA
99  */
101  return (data) gen_copy_tree((gen_chunk*) p);
102 }
103 void free_data(data p) {
104  gen_free((gen_chunk*) p);
105 }
107  return (data) gen_check((gen_chunk*) p, data_domain);
108 }
110  check_data(p);
111  return gen_consistent_p((gen_chunk*) p);
112 }
114  return gen_defined_p((gen_chunk*) p);
115 }
117  return gen_typed_cons(DATA_NEWGEN_DOMAIN, p, l);
118 }
120  check_data(r);
121  check_data(v);
122  message_assert("defined references to domain data",
123  data_defined_p(r) && data_defined_p(v));
124  memcpy(r, v, sizeof(struct _newgen_struct_data_));
125 }
127  // should clear up contents...
128  free(p);
129 }
130 void write_data(FILE* f, data p) {
131  gen_write(f, (gen_chunk*) p);
132 }
133 data read_data(FILE* f) {
134  return (data) gen_read(f);
135 }
137  return (data) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, data_domain, a1, a2);
138 }
139 
140 /* DATAVAL
141  */
143  return (dataval) gen_copy_tree((gen_chunk*) p);
144 }
146  gen_free((gen_chunk*) p);
147 }
149  return (dataval) gen_check((gen_chunk*) p, dataval_domain);
150 }
152  check_dataval(p);
153  return gen_consistent_p((gen_chunk*) p);
154 }
156  return gen_defined_p((gen_chunk*) p);
157 }
160 }
162  check_dataval(r);
163  check_dataval(v);
164  message_assert("defined references to domain dataval",
166  memcpy(r, v, sizeof(struct _newgen_struct_dataval_));
167 }
169  // should clear up contents...
170  free(p);
171 }
172 void write_dataval(FILE* f, dataval p) {
173  gen_write(f, (gen_chunk*) p);
174 }
176  return (dataval) gen_read(f);
177 }
179  return (dataval) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, dataval_domain, a1, a2);
180 }
181 
182 /* DATAVAR
183  */
185  return (datavar) gen_copy_tree((gen_chunk*) p);
186 }
188  gen_free((gen_chunk*) p);
189 }
191  return (datavar) gen_check((gen_chunk*) p, datavar_domain);
192 }
194  check_datavar(p);
195  return gen_consistent_p((gen_chunk*) p);
196 }
198  return gen_defined_p((gen_chunk*) p);
199 }
202 }
204  check_datavar(r);
205  check_datavar(v);
206  message_assert("defined references to domain datavar",
208  memcpy(r, v, sizeof(struct _newgen_struct_datavar_));
209 }
211  // should clear up contents...
212  free(p);
213 }
214 void write_datavar(FILE* f, datavar p) {
215  gen_write(f, (gen_chunk*) p);
216 }
218  return (datavar) gen_read(f);
219 }
221  return (datavar) gen_alloc(3*sizeof(gen_chunk), GEN_CHECK_ALLOC, datavar_domain, a1, a2);
222 }
223 
224 /* EQUIVALENCES
225  */
227  return (equivalences) gen_copy_tree((gen_chunk*) p);
228 }
230  gen_free((gen_chunk*) p);
231 }
234 }
237  return gen_consistent_p((gen_chunk*) p);
238 }
240  return gen_defined_p((gen_chunk*) p);
241 }
244 }
248  message_assert("defined references to domain equivalences",
250  memcpy(r, v, sizeof(struct _newgen_struct_equivalences_));
251 }
253  // should clear up contents...
254  free(p);
255 }
257  gen_write(f, (gen_chunk*) p);
258 }
260  return (equivalences) gen_read(f);
261 }
264 }
265 
void atom_non_recursive_free(atom p)
list gen_dataval_cons(dataval p, list l)
chain check_chain(chain p)
void atom_assign_contents(atom r, atom v)
datavar copy_datavar(datavar p)
DATAVAR.
equivalences read_equivalences(FILE *f)
bool atom_consistent_p(atom p)
list gen_chain_cons(chain p, list l)
void free_data(data p)
data read_data(FILE *f)
bool equivalences_defined_p(equivalences p)
list gen_data_cons(data p, list l)
void write_dataval(FILE *f, dataval p)
void free_equivalences(equivalences p)
void datavar_assign_contents(datavar r, datavar v)
void equivalences_assign_contents(equivalences r, equivalences v)
bool datavar_consistent_p(datavar p)
bool equivalences_consistent_p(equivalences p)
chain make_chain(list a)
datavar read_datavar(FILE *f)
bool chain_consistent_p(chain p)
void free_dataval(dataval p)
bool data_consistent_p(data p)
void write_equivalences(FILE *f, equivalences p)
dataval copy_dataval(dataval p)
DATAVAL.
equivalences copy_equivalences(equivalences p)
EQUIVALENCES.
data check_data(data p)
dataval read_dataval(FILE *f)
atom make_atom(entity a1, intptr_t a2)
list gen_datavar_cons(datavar p, list l)
void write_data(FILE *f, data p)
atom check_atom(atom p)
dataval check_dataval(dataval p)
void write_datavar(FILE *f, datavar p)
void free_chain(chain p)
list gen_atom_cons(atom p, list l)
chain copy_chain(chain p)
CHAIN.
void dataval_assign_contents(dataval r, dataval v)
bool chain_defined_p(chain p)
bool dataval_consistent_p(dataval p)
atom copy_atom(atom p)
ATOM.
bool atom_defined_p(atom p)
void free_datavar(datavar p)
equivalences make_equivalences(list a)
equivalences check_equivalences(equivalences p)
void free_atom(atom p)
void equivalences_non_recursive_free(equivalences p)
void chain_non_recursive_free(chain p)
chain read_chain(FILE *f)
datavar make_datavar(entity a1, intptr_t a2)
void datavar_non_recursive_free(datavar p)
bool datavar_defined_p(datavar p)
void chain_assign_contents(chain r, chain v)
bool data_defined_p(data p)
atom read_atom(FILE *f)
data copy_data(data p)
DATA.
bool dataval_defined_p(dataval p)
data make_data(list a1, list a2)
dataval make_dataval(constant a1, intptr_t a2)
void data_non_recursive_free(data p)
void dataval_non_recursive_free(dataval p)
void write_chain(FILE *f, chain p)
datavar check_datavar(datavar p)
void data_assign_contents(data r, data v)
void write_atom(FILE *f, atom p)
list gen_equivalences_cons(equivalences p, list l)
#define GEN_CHECK_ALLOC
Definition: genC.h:307
void gen_free(gen_chunk *obj)
version without shared_pointers.
Definition: genClib.c:992
gen_chunk * gen_alloc(int size, int gen_check_p, int dom,...)
allocates something in newgen.
Definition: genClib.c:298
int gen_consistent_p(gen_chunk *obj)
GEN_CONSISTENT_P dynamically checks the type correctness of OBJ.
Definition: genClib.c:2398
int gen_defined_p(gen_chunk *obj)
Definition: genClib.c:2438
gen_chunk * gen_check(gen_chunk *obj, int t)
GEN_CHECK checks that the gen_chunk received OBJ is of the appropriate TYPE.
Definition: genClib.c:2356
gen_chunk * gen_read(FILE *file)
GEN_READ reads any object from the FILE stream.
Definition: genClib.c:2323
gen_chunk * gen_copy_tree(gen_chunk *obj)
Definition: genClib.c:1429
void gen_write(FILE *fd, gen_chunk *obj)
GEN_WRITE writes the OBJect on the stream FD.
Definition: genClib.c:1745
void free(void *)
list gen_typed_cons(_int type, const void *item, const list next)
CONS a list with minimal type checking this cannot be done within the CONS macro because possible fun...
Definition: list.c:900
#define message_assert(msg, ex)
Definition: newgen_assert.h:47
int f(int off1, int off2, int n, float r[n], float a[n], float b[n])
Definition: offsets.c:15
#define DATA_NEWGEN_DOMAIN
#define data_domain
newgen_chain_domain_defined
#define DATAVAL_NEWGEN_DOMAIN
#define DATAVAR_NEWGEN_DOMAIN
#define equivalences_domain
newgen_datavar_domain_defined
#define chain_domain
newgen_atom_domain_defined
#define dataval_domain
newgen_data_domain_defined
#define EQUIVALENCES_NEWGEN_DOMAIN
#define atom_domain
newgen_constant_domain_defined
#define ATOM_NEWGEN_DOMAIN
#define CHAIN_NEWGEN_DOMAIN
#define datavar_domain
newgen_dataval_domain_defined
#define intptr_t
Definition: stdint.in.h:294
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