PIPS
makefile.h
Go to the documentation of this file.
1 #ifndef _newgen_makefile_included
2 #define _newgen_makefile_included
3 #define _gen_makefile_start 15
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #define makefile_domain (_gen_makefile_start+0)
11 #if !defined(_newgen_makefile_domain_defined_)
12 #define _newgen_makefile_domain_defined_
13 #define MAKEFILE_NEWGEN_DOMAIN (makefile_domain)
14 #define makefile_NEWGEN_DOMAIN (makefile_domain)
16 #endif /* _newgen_makefile_domain_defined_ */
17 
18 #define owner_domain (_gen_makefile_start+1)
19 #if !defined(_newgen_owner_domain_defined_)
20 #define _newgen_owner_domain_defined_
21 #define OWNER_NEWGEN_DOMAIN (owner_domain)
22 #define owner_NEWGEN_DOMAIN (owner_domain)
23 typedef struct _newgen_struct_owner_ * owner;
24 #endif /* _newgen_owner_domain_defined_ */
25 
26 #define real_resource_domain (_gen_makefile_start+2)
27 #if !defined(_newgen_real_resource_domain_defined_)
28 #define _newgen_real_resource_domain_defined_
29 #define REAL_RESOURCE_NEWGEN_DOMAIN (real_resource_domain)
30 #define real_resource_NEWGEN_DOMAIN (real_resource_domain)
32 #endif /* _newgen_real_resource_domain_defined_ */
33 
34 #define rule_domain (_gen_makefile_start+3)
35 #if !defined(_newgen_rule_domain_defined_)
36 #define _newgen_rule_domain_defined_
37 #define RULE_NEWGEN_DOMAIN (rule_domain)
38 #define rule_NEWGEN_DOMAIN (rule_domain)
39 typedef struct _newgen_struct_rule_ * rule;
40 #endif /* _newgen_rule_domain_defined_ */
41 
42 #define virtual_resource_domain (_gen_makefile_start+4)
43 #if !defined(_newgen_virtual_resource_domain_defined_)
44 #define _newgen_virtual_resource_domain_defined_
45 #define VIRTUAL_RESOURCE_NEWGEN_DOMAIN (virtual_resource_domain)
46 #define virtual_resource_NEWGEN_DOMAIN (virtual_resource_domain)
48 #endif /* _newgen_virtual_resource_domain_defined_ */
49 
50 /* MAKEFILE
51  */
52 #define MAKEFILE(x) ((makefile)((x).p))
53 #define makefile_CAST(x) MAKEFILE(x)
54 #define MAKEFILE_CAST(x) MAKEFILE(x)
55 #define MAKEFILE_(x) ((x).e)
56 #define MAKEFILE_TYPE makefile
57 #define makefile_TYPE makefile
58 #define makefile_undefined ((makefile)gen_chunk_undefined)
59 #define makefile_undefined_p(x) ((x)==makefile_undefined)
60 
62 extern void free_makefile(makefile);
64 extern bool makefile_consistent_p(makefile);
65 extern bool makefile_defined_p(makefile);
66 #define gen_MAKEFILE_cons gen_makefile_cons
70 extern void write_makefile(FILE*, makefile);
71 extern makefile read_makefile(FILE*);
73 
76  list _makefile_rules_; /* rules:rule* */
77  list _makefile_active_phases_; /* active_phases:string* */
78 };
79 
80 #define makefile_domain_number(x) ((x)->_type_)
81 #define makefile_rules_(x) makefile_rules(x) /* old hack compatible */
82 #define makefile_rules(x) ((x)->_makefile_rules_)
83 #define makefile_active_phases_(x) makefile_active_phases(x) /* old hack compatible */
84 #define makefile_active_phases(x) ((x)->_makefile_active_phases_)
85 
86 /* OWNER
87  */
88 #define OWNER(x) ((owner)((x).p))
89 #define owner_CAST(x) OWNER(x)
90 #define OWNER_CAST(x) OWNER(x)
91 #define OWNER_(x) ((x).e)
92 #define OWNER_TYPE owner
93 #define owner_TYPE owner
94 #define owner_undefined ((owner)gen_chunk_undefined)
95 #define owner_undefined_p(x) ((x)==owner_undefined)
96 
97 extern owner copy_owner(owner);
98 extern void free_owner(owner);
99 extern owner check_owner(owner);
100 extern bool owner_consistent_p(owner);
101 extern bool owner_defined_p(owner);
102 #define gen_OWNER_cons gen_owner_cons
103 extern list gen_owner_cons(owner, list);
104 extern void owner_assign_contents(owner, owner);
105 extern void owner_non_recursive_free(owner);
106 extern void write_owner(FILE*, owner);
107 extern owner read_owner(FILE*);
117 };
118 extern string owner_tag_as_string(enum owner_utype);
119 extern owner make_owner(enum owner_utype, void *);
120 extern owner make_owner_program(void);
121 extern owner make_owner_module(void);
122 extern owner make_owner_main(void);
123 extern owner make_owner_callees(void);
124 extern owner make_owner_callers(void);
125 extern owner make_owner_all(void);
126 extern owner make_owner_select(void);
128 
132  union {
133  gen_chunk _owner_program_; /* program:unit */
134  gen_chunk _owner_module_; /* module:unit */
135  gen_chunk _owner_main_; /* main:unit */
136  gen_chunk _owner_callees_; /* callees:unit */
137  gen_chunk _owner_callers_; /* callers:unit */
138  gen_chunk _owner_all_; /* all:unit */
139  gen_chunk _owner_select_; /* select:unit */
140  gen_chunk _owner_compilation_unit_; /* compilation_unit:unit */
142 };
143 
144 #define owner_domain_number(x) ((x)->_type_)
145 #define owner_tag(x) ((x)->_owner_tag__)
146 #define owner_program_p(x) (owner_tag(x)==is_owner_program)
147 #define owner_program_(x) owner_program(x) /* old hack compatible */
148 #define owner_program(x) ((x)->_owner_union_._owner_program_.u)
149 #define owner_module_p(x) (owner_tag(x)==is_owner_module)
150 #define owner_module_(x) owner_module(x) /* old hack compatible */
151 #define owner_module(x) ((x)->_owner_union_._owner_module_.u)
152 #define owner_main_p(x) (owner_tag(x)==is_owner_main)
153 #define owner_main_(x) owner_main(x) /* old hack compatible */
154 #define owner_main(x) ((x)->_owner_union_._owner_main_.u)
155 #define owner_callees_p(x) (owner_tag(x)==is_owner_callees)
156 #define owner_callees_(x) owner_callees(x) /* old hack compatible */
157 #define owner_callees(x) ((x)->_owner_union_._owner_callees_.u)
158 #define owner_callers_p(x) (owner_tag(x)==is_owner_callers)
159 #define owner_callers_(x) owner_callers(x) /* old hack compatible */
160 #define owner_callers(x) ((x)->_owner_union_._owner_callers_.u)
161 #define owner_all_p(x) (owner_tag(x)==is_owner_all)
162 #define owner_all_(x) owner_all(x) /* old hack compatible */
163 #define owner_all(x) ((x)->_owner_union_._owner_all_.u)
164 #define owner_select_p(x) (owner_tag(x)==is_owner_select)
165 #define owner_select_(x) owner_select(x) /* old hack compatible */
166 #define owner_select(x) ((x)->_owner_union_._owner_select_.u)
167 #define owner_compilation_unit_p(x) (owner_tag(x)==is_owner_compilation_unit)
168 #define owner_compilation_unit_(x) owner_compilation_unit(x) /* old hack compatible */
169 #define owner_compilation_unit(x) ((x)->_owner_union_._owner_compilation_unit_.u)
170 
171 /* REAL_RESOURCE
172  */
173 #define REAL_RESOURCE(x) ((real_resource)((x).p))
174 #define real_resource_CAST(x) REAL_RESOURCE(x)
175 #define REAL_RESOURCE_CAST(x) REAL_RESOURCE(x)
176 #define REAL_RESOURCE_(x) ((x).e)
177 #define REAL_RESOURCE_TYPE real_resource
178 #define real_resource_TYPE real_resource
179 #define real_resource_undefined ((real_resource)gen_chunk_undefined)
180 #define real_resource_undefined_p(x) ((x)==real_resource_undefined)
181 
183 extern void free_real_resource(real_resource);
187 #define gen_REAL_RESOURCE_cons gen_real_resource_cons
191 extern void write_real_resource(FILE*, real_resource);
192 extern real_resource read_real_resource(FILE*);
193 extern real_resource make_real_resource(string, string);
194 
197  string _real_resource_resource_name_; /* resource_name:string */
198  string _real_resource_owner_name_; /* owner_name:string */
199 };
200 
201 #define real_resource_domain_number(x) ((x)->_type_)
202 #define real_resource_resource_name_(x) real_resource_resource_name(x) /* old hack compatible */
203 #define real_resource_resource_name(x) ((x)->_real_resource_resource_name_)
204 #define real_resource_owner_name_(x) real_resource_owner_name(x) /* old hack compatible */
205 #define real_resource_owner_name(x) ((x)->_real_resource_owner_name_)
206 
207 /* RULE
208  */
209 #define RULE(x) ((rule)((x).p))
210 #define rule_CAST(x) RULE(x)
211 #define RULE_CAST(x) RULE(x)
212 #define RULE_(x) ((x).e)
213 #define RULE_TYPE rule
214 #define rule_TYPE rule
215 #define rule_undefined ((rule)gen_chunk_undefined)
216 #define rule_undefined_p(x) ((x)==rule_undefined)
217 
218 extern rule copy_rule(rule);
219 extern void free_rule(rule);
220 extern rule check_rule(rule);
221 extern bool rule_consistent_p(rule);
222 extern bool rule_defined_p(rule);
223 #define gen_RULE_cons gen_rule_cons
224 extern list gen_rule_cons(rule, list);
225 extern void rule_assign_contents(rule, rule);
226 extern void rule_non_recursive_free(rule);
227 extern void write_rule(FILE*, rule);
228 extern rule read_rule(FILE*);
229 extern rule make_rule(string, list, list, list, list, list, list);
230 
233  string _rule_phase_; /* phase:string */
234  list _rule_required_; /* required:virtual_resource* */
235  list _rule_produced_; /* produced:virtual_resource* */
236  list _rule_preserved_; /* preserved:virtual_resource* */
237  list _rule_modified_; /* modified:virtual_resource* */
238  list _rule_pre_transformation_; /* pre_transformation:virtual_resource* */
239  list _rule_post_transformation_; /* post_transformation:virtual_resource* */
240 };
241 
242 #define rule_domain_number(x) ((x)->_type_)
243 #define rule_phase_(x) rule_phase(x) /* old hack compatible */
244 #define rule_phase(x) ((x)->_rule_phase_)
245 #define rule_required_(x) rule_required(x) /* old hack compatible */
246 #define rule_required(x) ((x)->_rule_required_)
247 #define rule_produced_(x) rule_produced(x) /* old hack compatible */
248 #define rule_produced(x) ((x)->_rule_produced_)
249 #define rule_preserved_(x) rule_preserved(x) /* old hack compatible */
250 #define rule_preserved(x) ((x)->_rule_preserved_)
251 #define rule_modified_(x) rule_modified(x) /* old hack compatible */
252 #define rule_modified(x) ((x)->_rule_modified_)
253 #define rule_pre_transformation_(x) rule_pre_transformation(x) /* old hack compatible */
254 #define rule_pre_transformation(x) ((x)->_rule_pre_transformation_)
255 #define rule_post_transformation_(x) rule_post_transformation(x) /* old hack compatible */
256 #define rule_post_transformation(x) ((x)->_rule_post_transformation_)
257 
258 /* VIRTUAL_RESOURCE
259  */
260 #define VIRTUAL_RESOURCE(x) ((virtual_resource)((x).p))
261 #define virtual_resource_CAST(x) VIRTUAL_RESOURCE(x)
262 #define VIRTUAL_RESOURCE_CAST(x) VIRTUAL_RESOURCE(x)
263 #define VIRTUAL_RESOURCE_(x) ((x).e)
264 #define VIRTUAL_RESOURCE_TYPE virtual_resource
265 #define virtual_resource_TYPE virtual_resource
266 #define virtual_resource_undefined ((virtual_resource)gen_chunk_undefined)
267 #define virtual_resource_undefined_p(x) ((x)==virtual_resource_undefined)
268 
274 #define gen_VIRTUAL_RESOURCE_cons gen_virtual_resource_cons
278 extern void write_virtual_resource(FILE*, virtual_resource);
281 
284  string _virtual_resource_name_; /* name:string */
285  owner _virtual_resource_owner_; /* owner:owner */
286 };
287 
288 #define virtual_resource_domain_number(x) ((x)->_type_)
289 #define virtual_resource_name_(x) virtual_resource_name(x) /* old hack compatible */
290 #define virtual_resource_name(x) ((x)->_virtual_resource_name_)
291 #define virtual_resource_owner_(x) virtual_resource_owner(x) /* old hack compatible */
292 #define virtual_resource_owner(x) ((x)->_virtual_resource_owner_)
293 
294 #define makefile_spec "\
295 --NEWGEN-START 15\n\
296 makefile = rules:rule* x active_phases:string*;\n\
297 owner = program:unit + module:unit + main:unit + callees:unit + callers:unit + all:unit + select:unit + compilation_unit:unit;\n\
298 real_resource = resource_name:string x owner_name:string;\n\
299 rule = phase:string x required:virtual_resource* x produced:virtual_resource* x preserved:virtual_resource* x modified:virtual_resource* x pre_transformation:virtual_resource* x post_transformation:virtual_resource*;\n\
300 virtual_resource = name:string x owner:owner;\n\
301 "
302 #endif
list gen_owner_cons(owner, list)
Definition: makefile.c:74
real_resource read_real_resource(FILE *)
Definition: makefile.c:170
makefile read_makefile(FILE *)
Definition: makefile.c:49
virtual_resource check_virtual_resource(virtual_resource)
Definition: makefile.c:227
void free_virtual_resource(virtual_resource)
Definition: makefile.c:224
rule copy_rule(rule)
RULE.
Definition: makefile.c:179
void virtual_resource_assign_contents(virtual_resource, virtual_resource)
Definition: makefile.c:240
bool real_resource_consistent_p(real_resource)
Definition: makefile.c:146
void write_makefile(FILE *, makefile)
Definition: makefile.c:46
bool rule_defined_p(rule)
Definition: makefile.c:192
struct _newgen_struct_real_resource_ * real_resource
Definition: makefile.h:31
void rule_non_recursive_free(rule)
Definition: makefile.c:205
owner make_owner_main(void)
Definition: makefile.c:116
owner make_owner_compilation_unit(void)
Definition: makefile.c:131
void real_resource_assign_contents(real_resource, real_resource)
Definition: makefile.c:156
void rule_assign_contents(rule, rule)
Definition: makefile.c:198
owner read_owner(FILE *)
Definition: makefile.c:91
bool makefile_defined_p(makefile)
Definition: makefile.c:29
bool rule_consistent_p(rule)
Definition: makefile.c:188
makefile check_makefile(makefile)
Definition: makefile.c:22
list gen_makefile_cons(makefile, list)
Definition: makefile.c:32
list gen_virtual_resource_cons(virtual_resource, list)
Definition: makefile.c:237
makefile make_makefile(list, list)
Definition: makefile.c:52
void real_resource_non_recursive_free(real_resource)
Definition: makefile.c:163
void write_virtual_resource(FILE *, virtual_resource)
Definition: makefile.c:251
void write_owner(FILE *, owner)
Definition: makefile.c:88
owner make_owner_program(void)
Definition: makefile.c:110
bool real_resource_defined_p(real_resource)
Definition: makefile.c:150
owner make_owner_callers(void)
Definition: makefile.c:122
owner make_owner_all(void)
Definition: makefile.c:125
void free_rule(rule)
Definition: makefile.c:182
void owner_assign_contents(owner, owner)
Definition: makefile.c:77
void write_real_resource(FILE *, real_resource)
Definition: makefile.c:167
real_resource check_real_resource(real_resource)
Definition: makefile.c:143
bool virtual_resource_consistent_p(virtual_resource)
Definition: makefile.c:230
void free_owner(owner)
Definition: makefile.c:61
owner make_owner(enum owner_utype, void *)
Definition: makefile.c:107
real_resource copy_real_resource(real_resource)
REAL_RESOURCE.
Definition: makefile.c:137
void free_makefile(makefile)
Definition: makefile.c:19
owner make_owner_callees(void)
Definition: makefile.c:119
void makefile_non_recursive_free(makefile)
Definition: makefile.c:42
void makefile_assign_contents(makefile, makefile)
Definition: makefile.c:35
struct _newgen_struct_virtual_resource_ * virtual_resource
Definition: makefile.h:47
makefile copy_makefile(makefile)
MAKEFILE.
Definition: makefile.c:16
virtual_resource copy_virtual_resource(virtual_resource)
VIRTUAL_RESOURCE.
Definition: makefile.c:221
struct _newgen_struct_rule_ * rule
Definition: makefile.h:39
owner check_owner(owner)
Definition: makefile.c:64
bool makefile_consistent_p(makefile)
Definition: makefile.c:25
owner_utype
Definition: makefile.h:108
@ is_owner_main
Definition: makefile.h:111
@ is_owner_callees
Definition: makefile.h:112
@ is_owner_select
Definition: makefile.h:115
@ is_owner_compilation_unit
Definition: makefile.h:116
@ is_owner_module
Definition: makefile.h:110
@ is_owner_callers
Definition: makefile.h:113
@ is_owner_all
Definition: makefile.h:114
@ is_owner_program
Definition: makefile.h:109
virtual_resource read_virtual_resource(FILE *)
Definition: makefile.c:254
void write_rule(FILE *, rule)
Definition: makefile.c:209
rule check_rule(rule)
Definition: makefile.c:185
struct _newgen_struct_makefile_ * makefile
Definition: makefile.h:15
void free_real_resource(real_resource)
Definition: makefile.c:140
list gen_real_resource_cons(real_resource, list)
Definition: makefile.c:153
rule read_rule(FILE *)
Definition: makefile.c:212
void owner_non_recursive_free(owner)
Definition: makefile.c:84
bool owner_consistent_p(owner)
Definition: makefile.c:67
bool owner_defined_p(owner)
Definition: makefile.c:71
virtual_resource make_virtual_resource(string, owner)
Definition: makefile.c:257
real_resource make_real_resource(string, string)
Definition: makefile.c:173
struct _newgen_struct_owner_ * owner
Definition: makefile.h:23
list gen_rule_cons(rule, list)
Definition: makefile.c:195
void virtual_resource_non_recursive_free(virtual_resource)
Definition: makefile.c:247
owner make_owner_module(void)
Definition: makefile.c:113
owner copy_owner(owner)
OWNER.
Definition: makefile.c:58
owner make_owner_select(void)
Definition: makefile.c:128
rule make_rule(string, list, list, list, list, list, list)
Definition: makefile.c:215
bool virtual_resource_defined_p(virtual_resource)
Definition: makefile.c:234
string owner_tag_as_string(enum owner_utype)
Definition: makefile.c:94
#define intptr_t
Definition: stdint.in.h:294
list _makefile_active_phases_
rules:rule*
Definition: makefile.h:77
gen_chunk _owner_program_
Definition: makefile.h:133
gen_chunk _owner_callers_
callees:unit
Definition: makefile.h:137
gen_chunk _owner_all_
callers:unit
Definition: makefile.h:138
gen_chunk _owner_callees_
main:unit
Definition: makefile.h:136
gen_chunk _owner_module_
program:unit
Definition: makefile.h:134
gen_chunk _owner_main_
module:unit
Definition: makefile.h:135
union _newgen_struct_owner_::@56 _owner_union_
gen_chunk _owner_select_
all:unit
Definition: makefile.h:139
enum owner_utype _owner_tag__
Definition: makefile.h:131
gen_chunk _owner_compilation_unit_
select:unit
Definition: makefile.h:140
string _real_resource_owner_name_
resource_name:string
Definition: makefile.h:198
list _rule_produced_
required:virtual_resource*
Definition: makefile.h:235
list _rule_required_
phase:string
Definition: makefile.h:234
list _rule_pre_transformation_
modified:virtual_resource*
Definition: makefile.h:238
list _rule_preserved_
produced:virtual_resource*
Definition: makefile.h:236
list _rule_modified_
preserved:virtual_resource*
Definition: makefile.h:237
list _rule_post_transformation_
pre_transformation:virtual_resource*
Definition: makefile.h:239
owner _virtual_resource_owner_
name:string
Definition: makefile.h:285
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