PIPS
ri.h
Go to the documentation of this file.
1 #ifndef _newgen_ri_included
2 #define _newgen_ri_included
3 #define _gen_ri_start 27
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_Pvecteur_domain_defined_)
11 #define _newgen_Pvecteur_domain_defined_
12 #define newgen_Pvecteur(p) (p) /* old hack compatible */
13 #define PVECTEUR_NEWGEN_EXTERNAL (_gen_ri_start+0)
14 #define PVECTEUR_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
15 #define Pvecteur_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
16 #endif /* _newgen_Pvecteur_domain_defined_ */
17 
18 #if !defined(_newgen_Psysteme_domain_defined_)
19 #define _newgen_Psysteme_domain_defined_
20 #define newgen_Psysteme(p) (p) /* old hack compatible */
21 #define PSYSTEME_NEWGEN_EXTERNAL (_gen_ri_start+1)
22 #define PSYSTEME_NEWGEN_DOMAIN (PSYSTEME_NEWGEN_EXTERNAL)
23 #define Psysteme_NEWGEN_DOMAIN (PSYSTEME_NEWGEN_EXTERNAL)
24 #endif /* _newgen_Psysteme_domain_defined_ */
25 
26 #define application_domain (_gen_ri_start+2)
27 #if !defined(_newgen_application_domain_defined_)
28 #define _newgen_application_domain_defined_
29 #define APPLICATION_NEWGEN_DOMAIN (application_domain)
30 #define application_NEWGEN_DOMAIN (application_domain)
32 #endif /* _newgen_application_domain_defined_ */
33 
34 #define area_domain (_gen_ri_start+3)
35 #if !defined(_newgen_area_domain_defined_)
36 #define _newgen_area_domain_defined_
37 #define AREA_NEWGEN_DOMAIN (area_domain)
38 #define area_NEWGEN_DOMAIN (area_domain)
39 typedef struct _newgen_struct_area_ * area;
40 #endif /* _newgen_area_domain_defined_ */
41 
42 #define basic_domain (_gen_ri_start+4)
43 #if !defined(_newgen_basic_domain_defined_)
44 #define _newgen_basic_domain_defined_
45 #define BASIC_NEWGEN_DOMAIN (basic_domain)
46 #define basic_NEWGEN_DOMAIN (basic_domain)
47 typedef struct _newgen_struct_basic_ * basic;
48 #endif /* _newgen_basic_domain_defined_ */
49 
50 #define callees_domain (_gen_ri_start+5)
51 #if !defined(_newgen_callees_domain_defined_)
52 #define _newgen_callees_domain_defined_
53 #define CALLEES_NEWGEN_DOMAIN (callees_domain)
54 #define callees_NEWGEN_DOMAIN (callees_domain)
56 #endif /* _newgen_callees_domain_defined_ */
57 
58 #define call_domain (_gen_ri_start+6)
59 #if !defined(_newgen_call_domain_defined_)
60 #define _newgen_call_domain_defined_
61 #define CALL_NEWGEN_DOMAIN (call_domain)
62 #define call_NEWGEN_DOMAIN (call_domain)
63 typedef struct _newgen_struct_call_ * call;
64 #endif /* _newgen_call_domain_defined_ */
65 
66 #define cast_domain (_gen_ri_start+7)
67 #if !defined(_newgen_cast_domain_defined_)
68 #define _newgen_cast_domain_defined_
69 #define CAST_NEWGEN_DOMAIN (cast_domain)
70 #define cast_NEWGEN_DOMAIN (cast_domain)
71 typedef struct _newgen_struct_cast_ * cast;
72 #endif /* _newgen_cast_domain_defined_ */
73 
74 #define code_domain (_gen_ri_start+8)
75 #if !defined(_newgen_code_domain_defined_)
76 #define _newgen_code_domain_defined_
77 #define CODE_NEWGEN_DOMAIN (code_domain)
78 #define code_NEWGEN_DOMAIN (code_domain)
79 typedef struct _newgen_struct_code_ * code;
80 #endif /* _newgen_code_domain_defined_ */
81 
82 #define constant_domain (_gen_ri_start+9)
83 #if !defined(_newgen_constant_domain_defined_)
84 #define _newgen_constant_domain_defined_
85 #define CONSTANT_NEWGEN_DOMAIN (constant_domain)
86 #define constant_NEWGEN_DOMAIN (constant_domain)
88 #endif /* _newgen_constant_domain_defined_ */
89 
90 #define controlmap_domain (_gen_ri_start+10)
91 #if !defined(_newgen_controlmap_domain_defined_)
92 #define _newgen_controlmap_domain_defined_
93 #define CONTROLMAP_NEWGEN_DOMAIN (controlmap_domain)
94 #define controlmap_NEWGEN_DOMAIN (controlmap_domain)
96 #endif /* _newgen_controlmap_domain_defined_ */
97 
98 #define control_domain (_gen_ri_start+11)
99 #if !defined(_newgen_control_domain_defined_)
100 #define _newgen_control_domain_defined_
101 #define CONTROL_NEWGEN_DOMAIN (control_domain)
102 #define control_NEWGEN_DOMAIN (control_domain)
104 #endif /* _newgen_control_domain_defined_ */
105 
106 #define dimension_domain (_gen_ri_start+12)
107 #if !defined(_newgen_dimension_domain_defined_)
108 #define _newgen_dimension_domain_defined_
109 #define DIMENSION_NEWGEN_DOMAIN (dimension_domain)
110 #define dimension_NEWGEN_DOMAIN (dimension_domain)
112 #endif /* _newgen_dimension_domain_defined_ */
113 
114 #define dummy_domain (_gen_ri_start+13)
115 #if !defined(_newgen_dummy_domain_defined_)
116 #define _newgen_dummy_domain_defined_
117 #define DUMMY_NEWGEN_DOMAIN (dummy_domain)
118 #define dummy_NEWGEN_DOMAIN (dummy_domain)
119 typedef struct _newgen_struct_dummy_ * dummy;
120 #endif /* _newgen_dummy_domain_defined_ */
121 
122 #define entity_int_domain (_gen_ri_start+14)
123 #if !defined(_newgen_entity_int_domain_defined_)
124 #define _newgen_entity_int_domain_defined_
125 #define ENTITY_INT_NEWGEN_DOMAIN (entity_int_domain)
126 #define entity_int_NEWGEN_DOMAIN (entity_int_domain)
128 #endif /* _newgen_entity_int_domain_defined_ */
129 
130 #define entity_to_entity_domain (_gen_ri_start+15)
131 #if !defined(_newgen_entity_to_entity_domain_defined_)
132 #define _newgen_entity_to_entity_domain_defined_
133 #define ENTITY_TO_ENTITY_NEWGEN_DOMAIN (entity_to_entity_domain)
134 #define entity_to_entity_NEWGEN_DOMAIN (entity_to_entity_domain)
136 #endif /* _newgen_entity_to_entity_domain_defined_ */
137 
138 #define evaluation_domain (_gen_ri_start+16)
139 #if !defined(_newgen_evaluation_domain_defined_)
140 #define _newgen_evaluation_domain_defined_
141 #define EVALUATION_NEWGEN_DOMAIN (evaluation_domain)
142 #define evaluation_NEWGEN_DOMAIN (evaluation_domain)
144 #endif /* _newgen_evaluation_domain_defined_ */
145 
146 #define execution_domain (_gen_ri_start+17)
147 #if !defined(_newgen_execution_domain_defined_)
148 #define _newgen_execution_domain_defined_
149 #define EXECUTION_NEWGEN_DOMAIN (execution_domain)
150 #define execution_NEWGEN_DOMAIN (execution_domain)
152 #endif /* _newgen_execution_domain_defined_ */
153 
154 #define expression_domain (_gen_ri_start+18)
155 #if !defined(_newgen_expression_domain_defined_)
156 #define _newgen_expression_domain_defined_
157 #define EXPRESSION_NEWGEN_DOMAIN (expression_domain)
158 #define expression_NEWGEN_DOMAIN (expression_domain)
160 #endif /* _newgen_expression_domain_defined_ */
161 
162 #define extension_domain (_gen_ri_start+19)
163 #if !defined(_newgen_extension_domain_defined_)
164 #define _newgen_extension_domain_defined_
165 #define EXTENSION_NEWGEN_DOMAIN (extension_domain)
166 #define extension_NEWGEN_DOMAIN (extension_domain)
168 #endif /* _newgen_extension_domain_defined_ */
169 
170 #define extensions_domain (_gen_ri_start+20)
171 #if !defined(_newgen_extensions_domain_defined_)
172 #define _newgen_extensions_domain_defined_
173 #define EXTENSIONS_NEWGEN_DOMAIN (extensions_domain)
174 #define extensions_NEWGEN_DOMAIN (extensions_domain)
176 #endif /* _newgen_extensions_domain_defined_ */
177 
178 #define forloop_domain (_gen_ri_start+21)
179 #if !defined(_newgen_forloop_domain_defined_)
180 #define _newgen_forloop_domain_defined_
181 #define FORLOOP_NEWGEN_DOMAIN (forloop_domain)
182 #define forloop_NEWGEN_DOMAIN (forloop_domain)
184 #endif /* _newgen_forloop_domain_defined_ */
185 
186 #define formal_domain (_gen_ri_start+22)
187 #if !defined(_newgen_formal_domain_defined_)
188 #define _newgen_formal_domain_defined_
189 #define FORMAL_NEWGEN_DOMAIN (formal_domain)
190 #define formal_NEWGEN_DOMAIN (formal_domain)
192 #endif /* _newgen_formal_domain_defined_ */
193 
194 #define functional_domain (_gen_ri_start+23)
195 #if !defined(_newgen_functional_domain_defined_)
196 #define _newgen_functional_domain_defined_
197 #define FUNCTIONAL_NEWGEN_DOMAIN (functional_domain)
198 #define functional_NEWGEN_DOMAIN (functional_domain)
200 #endif /* _newgen_functional_domain_defined_ */
201 
202 #define instruction_domain (_gen_ri_start+24)
203 #if !defined(_newgen_instruction_domain_defined_)
204 #define _newgen_instruction_domain_defined_
205 #define INSTRUCTION_NEWGEN_DOMAIN (instruction_domain)
206 #define instruction_NEWGEN_DOMAIN (instruction_domain)
208 #endif /* _newgen_instruction_domain_defined_ */
209 
210 #define language_domain (_gen_ri_start+25)
211 #if !defined(_newgen_language_domain_defined_)
212 #define _newgen_language_domain_defined_
213 #define LANGUAGE_NEWGEN_DOMAIN (language_domain)
214 #define language_NEWGEN_DOMAIN (language_domain)
216 #endif /* _newgen_language_domain_defined_ */
217 
218 #define loop_domain (_gen_ri_start+26)
219 #if !defined(_newgen_loop_domain_defined_)
220 #define _newgen_loop_domain_defined_
221 #define LOOP_NEWGEN_DOMAIN (loop_domain)
222 #define loop_NEWGEN_DOMAIN (loop_domain)
223 typedef struct _newgen_struct_loop_ * loop;
224 #endif /* _newgen_loop_domain_defined_ */
225 
226 #define mode_domain (_gen_ri_start+27)
227 #if !defined(_newgen_mode_domain_defined_)
228 #define _newgen_mode_domain_defined_
229 #define MODE_NEWGEN_DOMAIN (mode_domain)
230 #define mode_NEWGEN_DOMAIN (mode_domain)
231 typedef struct _newgen_struct_mode_ * mode;
232 #endif /* _newgen_mode_domain_defined_ */
233 
234 #define multitest_domain (_gen_ri_start+28)
235 #if !defined(_newgen_multitest_domain_defined_)
236 #define _newgen_multitest_domain_defined_
237 #define MULTITEST_NEWGEN_DOMAIN (multitest_domain)
238 #define multitest_NEWGEN_DOMAIN (multitest_domain)
240 #endif /* _newgen_multitest_domain_defined_ */
241 
242 #define normalized_domain (_gen_ri_start+29)
243 #if !defined(_newgen_normalized_domain_defined_)
244 #define _newgen_normalized_domain_defined_
245 #define NORMALIZED_NEWGEN_DOMAIN (normalized_domain)
246 #define normalized_NEWGEN_DOMAIN (normalized_domain)
248 #endif /* _newgen_normalized_domain_defined_ */
249 
250 #define parameter_domain (_gen_ri_start+30)
251 #if !defined(_newgen_parameter_domain_defined_)
252 #define _newgen_parameter_domain_defined_
253 #define PARAMETER_NEWGEN_DOMAIN (parameter_domain)
254 #define parameter_NEWGEN_DOMAIN (parameter_domain)
256 #endif /* _newgen_parameter_domain_defined_ */
257 
258 #define persistant_statement_to_cluster_domain (_gen_ri_start+31)
259 #if !defined(_newgen_persistant_statement_to_cluster_domain_defined_)
260 #define _newgen_persistant_statement_to_cluster_domain_defined_
261 #define PERSISTANT_STATEMENT_TO_CLUSTER_NEWGEN_DOMAIN (persistant_statement_to_cluster_domain)
262 #define persistant_statement_to_cluster_NEWGEN_DOMAIN (persistant_statement_to_cluster_domain)
264 #endif /* _newgen_persistant_statement_to_cluster_domain_defined_ */
265 
266 #define persistant_statement_to_control_domain (_gen_ri_start+32)
267 #if !defined(_newgen_persistant_statement_to_control_domain_defined_)
268 #define _newgen_persistant_statement_to_control_domain_defined_
269 #define PERSISTANT_STATEMENT_TO_CONTROL_NEWGEN_DOMAIN (persistant_statement_to_control_domain)
270 #define persistant_statement_to_control_NEWGEN_DOMAIN (persistant_statement_to_control_domain)
272 #endif /* _newgen_persistant_statement_to_control_domain_defined_ */
273 
274 #define persistant_statement_to_int_domain (_gen_ri_start+33)
275 #if !defined(_newgen_persistant_statement_to_int_domain_defined_)
276 #define _newgen_persistant_statement_to_int_domain_defined_
277 #define PERSISTANT_STATEMENT_TO_INT_NEWGEN_DOMAIN (persistant_statement_to_int_domain)
278 #define persistant_statement_to_int_NEWGEN_DOMAIN (persistant_statement_to_int_domain)
280 #endif /* _newgen_persistant_statement_to_int_domain_defined_ */
281 
282 #define persistant_statement_to_statement_domain (_gen_ri_start+34)
283 #if !defined(_newgen_persistant_statement_to_statement_domain_defined_)
284 #define _newgen_persistant_statement_to_statement_domain_defined_
285 #define PERSISTANT_STATEMENT_TO_STATEMENT_NEWGEN_DOMAIN (persistant_statement_to_statement_domain)
286 #define persistant_statement_to_statement_NEWGEN_DOMAIN (persistant_statement_to_statement_domain)
288 #endif /* _newgen_persistant_statement_to_statement_domain_defined_ */
289 
290 #define pragma_domain (_gen_ri_start+35)
291 #if !defined(_newgen_pragma_domain_defined_)
292 #define _newgen_pragma_domain_defined_
293 #define PRAGMA_NEWGEN_DOMAIN (pragma_domain)
294 #define pragma_NEWGEN_DOMAIN (pragma_domain)
296 #endif /* _newgen_pragma_domain_defined_ */
297 
298 #define predicate_domain (_gen_ri_start+36)
299 #if !defined(_newgen_predicate_domain_defined_)
300 #define _newgen_predicate_domain_defined_
301 #define PREDICATE_NEWGEN_DOMAIN (predicate_domain)
302 #define predicate_NEWGEN_DOMAIN (predicate_domain)
304 #endif /* _newgen_predicate_domain_defined_ */
305 
306 #define preference_domain (_gen_ri_start+37)
307 #if !defined(_newgen_preference_domain_defined_)
308 #define _newgen_preference_domain_defined_
309 #define PREFERENCE_NEWGEN_DOMAIN (preference_domain)
310 #define preference_NEWGEN_DOMAIN (preference_domain)
312 #endif /* _newgen_preference_domain_defined_ */
313 
314 #define qualifier_domain (_gen_ri_start+38)
315 #if !defined(_newgen_qualifier_domain_defined_)
316 #define _newgen_qualifier_domain_defined_
317 #define QUALIFIER_NEWGEN_DOMAIN (qualifier_domain)
318 #define qualifier_NEWGEN_DOMAIN (qualifier_domain)
320 #endif /* _newgen_qualifier_domain_defined_ */
321 
322 #define ram_domain (_gen_ri_start+39)
323 #if !defined(_newgen_ram_domain_defined_)
324 #define _newgen_ram_domain_defined_
325 #define RAM_NEWGEN_DOMAIN (ram_domain)
326 #define ram_NEWGEN_DOMAIN (ram_domain)
327 typedef struct _newgen_struct_ram_ * ram;
328 #endif /* _newgen_ram_domain_defined_ */
329 
330 #define range_domain (_gen_ri_start+40)
331 #if !defined(_newgen_range_domain_defined_)
332 #define _newgen_range_domain_defined_
333 #define RANGE_NEWGEN_DOMAIN (range_domain)
334 #define range_NEWGEN_DOMAIN (range_domain)
335 typedef struct _newgen_struct_range_ * range;
336 #endif /* _newgen_range_domain_defined_ */
337 
338 #define reference_domain (_gen_ri_start+41)
339 #if !defined(_newgen_reference_domain_defined_)
340 #define _newgen_reference_domain_defined_
341 #define REFERENCE_NEWGEN_DOMAIN (reference_domain)
342 #define reference_NEWGEN_DOMAIN (reference_domain)
344 #endif /* _newgen_reference_domain_defined_ */
345 
346 #define sequence_domain (_gen_ri_start+42)
347 #if !defined(_newgen_sequence_domain_defined_)
348 #define _newgen_sequence_domain_defined_
349 #define SEQUENCE_NEWGEN_DOMAIN (sequence_domain)
350 #define sequence_NEWGEN_DOMAIN (sequence_domain)
352 #endif /* _newgen_sequence_domain_defined_ */
353 
354 #define sizeofexpression_domain (_gen_ri_start+43)
355 #if !defined(_newgen_sizeofexpression_domain_defined_)
356 #define _newgen_sizeofexpression_domain_defined_
357 #define SIZEOFEXPRESSION_NEWGEN_DOMAIN (sizeofexpression_domain)
358 #define sizeofexpression_NEWGEN_DOMAIN (sizeofexpression_domain)
360 #endif /* _newgen_sizeofexpression_domain_defined_ */
361 
362 #define statement_domain (_gen_ri_start+44)
363 #if !defined(_newgen_statement_domain_defined_)
364 #define _newgen_statement_domain_defined_
365 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
366 #define statement_NEWGEN_DOMAIN (statement_domain)
368 #endif /* _newgen_statement_domain_defined_ */
369 
370 #define storage_domain (_gen_ri_start+45)
371 #if !defined(_newgen_storage_domain_defined_)
372 #define _newgen_storage_domain_defined_
373 #define STORAGE_NEWGEN_DOMAIN (storage_domain)
374 #define storage_NEWGEN_DOMAIN (storage_domain)
376 #endif /* _newgen_storage_domain_defined_ */
377 
378 #define subscript_domain (_gen_ri_start+46)
379 #if !defined(_newgen_subscript_domain_defined_)
380 #define _newgen_subscript_domain_defined_
381 #define SUBSCRIPT_NEWGEN_DOMAIN (subscript_domain)
382 #define subscript_NEWGEN_DOMAIN (subscript_domain)
384 #endif /* _newgen_subscript_domain_defined_ */
385 
386 #define symbolic_domain (_gen_ri_start+47)
387 #if !defined(_newgen_symbolic_domain_defined_)
388 #define _newgen_symbolic_domain_defined_
389 #define SYMBOLIC_NEWGEN_DOMAIN (symbolic_domain)
390 #define symbolic_NEWGEN_DOMAIN (symbolic_domain)
392 #endif /* _newgen_symbolic_domain_defined_ */
393 
394 #define synchronization_domain (_gen_ri_start+48)
395 #if !defined(_newgen_synchronization_domain_defined_)
396 #define _newgen_synchronization_domain_defined_
397 #define SYNCHRONIZATION_NEWGEN_DOMAIN (synchronization_domain)
398 #define synchronization_NEWGEN_DOMAIN (synchronization_domain)
400 #endif /* _newgen_synchronization_domain_defined_ */
401 
402 #define syntax_domain (_gen_ri_start+49)
403 #if !defined(_newgen_syntax_domain_defined_)
404 #define _newgen_syntax_domain_defined_
405 #define SYNTAX_NEWGEN_DOMAIN (syntax_domain)
406 #define syntax_NEWGEN_DOMAIN (syntax_domain)
408 #endif /* _newgen_syntax_domain_defined_ */
409 
410 #define entity_domain (_gen_ri_start+50)
411 #if !defined(_newgen_entity_domain_defined_)
412 #define _newgen_entity_domain_defined_
413 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
414 #define entity_NEWGEN_DOMAIN (entity_domain)
416 #endif /* _newgen_entity_domain_defined_ */
417 
418 #define test_domain (_gen_ri_start+51)
419 #if !defined(_newgen_test_domain_defined_)
420 #define _newgen_test_domain_defined_
421 #define TEST_NEWGEN_DOMAIN (test_domain)
422 #define test_NEWGEN_DOMAIN (test_domain)
423 typedef struct _newgen_struct_test_ * test;
424 #endif /* _newgen_test_domain_defined_ */
425 
426 #define transformer_domain (_gen_ri_start+52)
427 #if !defined(_newgen_transformer_domain_defined_)
428 #define _newgen_transformer_domain_defined_
429 #define TRANSFORMER_NEWGEN_DOMAIN (transformer_domain)
430 #define transformer_NEWGEN_DOMAIN (transformer_domain)
432 #endif /* _newgen_transformer_domain_defined_ */
433 
434 #define type_domain (_gen_ri_start+53)
435 #if !defined(_newgen_type_domain_defined_)
436 #define _newgen_type_domain_defined_
437 #define TYPE_NEWGEN_DOMAIN (type_domain)
438 #define type_NEWGEN_DOMAIN (type_domain)
439 typedef struct _newgen_struct_type_ * type;
440 #endif /* _newgen_type_domain_defined_ */
441 
442 #define unstructured_domain (_gen_ri_start+54)
443 #if !defined(_newgen_unstructured_domain_defined_)
444 #define _newgen_unstructured_domain_defined_
445 #define UNSTRUCTURED_NEWGEN_DOMAIN (unstructured_domain)
446 #define unstructured_NEWGEN_DOMAIN (unstructured_domain)
448 #endif /* _newgen_unstructured_domain_defined_ */
449 
450 #define value_domain (_gen_ri_start+55)
451 #if !defined(_newgen_value_domain_defined_)
452 #define _newgen_value_domain_defined_
453 #define VALUE_NEWGEN_DOMAIN (value_domain)
454 #define value_NEWGEN_DOMAIN (value_domain)
455 typedef struct _newgen_struct_value_ * value;
456 #endif /* _newgen_value_domain_defined_ */
457 
458 #define variable_domain (_gen_ri_start+56)
459 #if !defined(_newgen_variable_domain_defined_)
460 #define _newgen_variable_domain_defined_
461 #define VARIABLE_NEWGEN_DOMAIN (variable_domain)
462 #define variable_NEWGEN_DOMAIN (variable_domain)
464 #endif /* _newgen_variable_domain_defined_ */
465 
466 #define whileloop_domain (_gen_ri_start+57)
467 #if !defined(_newgen_whileloop_domain_defined_)
468 #define _newgen_whileloop_domain_defined_
469 #define WHILELOOP_NEWGEN_DOMAIN (whileloop_domain)
470 #define whileloop_NEWGEN_DOMAIN (whileloop_domain)
472 #endif /* _newgen_whileloop_domain_defined_ */
473 
474 
475 
476 /* APPLICATION
477  */
478 #define APPLICATION(x) ((application)((x).p))
479 #define application_CAST(x) APPLICATION(x)
480 #define APPLICATION_CAST(x) APPLICATION(x)
481 #define APPLICATION_(x) ((x).e)
482 #define APPLICATION_TYPE application
483 #define application_TYPE application
484 #define application_undefined ((application)gen_chunk_undefined)
485 #define application_undefined_p(x) ((x)==application_undefined)
486 
488 extern void free_application(application);
492 #define gen_APPLICATION_cons gen_application_cons
496 extern void write_application(FILE*, application);
497 extern application read_application(FILE*);
499 
502  expression _application_function_; /* function:expression */
503  list _application_arguments_; /* arguments:expression* */
504 };
505 
506 #define application_domain_number(x) ((x)->_type_)
507 #define application_function_(x) application_function(x) /* old hack compatible */
508 #define application_function(x) ((x)->_application_function_)
509 #define application_arguments_(x) application_arguments(x) /* old hack compatible */
510 #define application_arguments(x) ((x)->_application_arguments_)
511 
512 /* AREA
513  */
514 #define AREA(x) ((area)((x).p))
515 #define area_CAST(x) AREA(x)
516 #define AREA_CAST(x) AREA(x)
517 #define AREA_(x) ((x).e)
518 #define AREA_TYPE area
519 #define area_TYPE area
520 #define area_undefined ((area)gen_chunk_undefined)
521 #define area_undefined_p(x) ((x)==area_undefined)
522 
523 extern area copy_area(area);
524 extern void free_area(area);
525 extern area check_area(area);
526 extern bool area_consistent_p(area);
527 extern bool area_defined_p(area);
528 #define gen_AREA_cons gen_area_cons
529 extern list gen_area_cons(area, list);
530 extern void area_assign_contents(area, area);
531 extern void area_non_recursive_free(area);
532 extern void write_area(FILE*, area);
533 extern area read_area(FILE*);
534 extern area make_area(intptr_t, list);
535 
538  intptr_t _area_size_; /* size:int */
539  list _area_layout_; /* layout:entity* */
540 };
541 
542 #define area_domain_number(x) ((x)->_type_)
543 #define area_size_(x) area_size(x) /* old hack compatible */
544 #define area_size(x) ((x)->_area_size_)
545 #define area_layout_(x) area_layout(x) /* old hack compatible */
546 #define area_layout(x) ((x)->_area_layout_)
547 
548 /* BASIC
549  */
550 #define BASIC(x) ((basic)((x).p))
551 #define basic_CAST(x) BASIC(x)
552 #define BASIC_CAST(x) BASIC(x)
553 #define BASIC_(x) ((x).e)
554 #define BASIC_TYPE basic
555 #define basic_TYPE basic
556 #define basic_undefined ((basic)gen_chunk_undefined)
557 #define basic_undefined_p(x) ((x)==basic_undefined)
558 
559 extern basic copy_basic(basic);
560 extern void free_basic(basic);
561 extern basic check_basic(basic);
562 extern bool basic_consistent_p(basic);
563 extern bool basic_defined_p(basic);
564 #define gen_BASIC_cons gen_basic_cons
565 extern list gen_basic_cons(basic, list);
566 extern void basic_assign_contents(basic, basic);
567 extern void basic_non_recursive_free(basic);
568 extern void write_basic(FILE*, basic);
569 extern basic read_basic(FILE*);
581 };
582 extern string basic_tag_as_string(enum basic_utype);
583 extern basic make_basic(enum basic_utype, void *);
587 extern basic make_basic_overloaded(void);
594 
598  union {
599  intptr_t _basic_int_; /* int:int */
600  intptr_t _basic_float_; /* float:int */
601  intptr_t _basic_logical_; /* logical:int */
602  gen_chunk _basic_overloaded_; /* overloaded:unit */
603  intptr_t _basic_complex_; /* complex:int */
604  value _basic_string_; /* string:value */
605  symbolic _basic_bit_; /* bit:symbolic */
606  type _basic_pointer_; /* pointer:type */
607  entity _basic_derived_; /* derived:entity */
608  entity _basic_typedef_; /* typedef:entity */
610 };
611 
612 #define basic_domain_number(x) ((x)->_type_)
613 #define basic_tag(x) ((x)->_basic_tag__)
614 #define basic_int_p(x) (basic_tag(x)==is_basic_int)
615 #define basic_int_(x) basic_int(x) /* old hack compatible */
616 #define basic_int(x) ((x)->_basic_union_._basic_int_)
617 #define basic_float_p(x) (basic_tag(x)==is_basic_float)
618 #define basic_float_(x) basic_float(x) /* old hack compatible */
619 #define basic_float(x) ((x)->_basic_union_._basic_float_)
620 #define basic_logical_p(x) (basic_tag(x)==is_basic_logical)
621 #define basic_logical_(x) basic_logical(x) /* old hack compatible */
622 #define basic_logical(x) ((x)->_basic_union_._basic_logical_)
623 #define basic_overloaded_p(x) (basic_tag(x)==is_basic_overloaded)
624 #define basic_overloaded_(x) basic_overloaded(x) /* old hack compatible */
625 #define basic_overloaded(x) ((x)->_basic_union_._basic_overloaded_.u)
626 #define basic_complex_p(x) (basic_tag(x)==is_basic_complex)
627 #define basic_complex_(x) basic_complex(x) /* old hack compatible */
628 #define basic_complex(x) ((x)->_basic_union_._basic_complex_)
629 #define basic_string_p(x) (basic_tag(x)==is_basic_string)
630 #define basic_string_(x) basic_string(x) /* old hack compatible */
631 #define basic_string(x) ((x)->_basic_union_._basic_string_)
632 #define basic_bit_p(x) (basic_tag(x)==is_basic_bit)
633 #define basic_bit_(x) basic_bit(x) /* old hack compatible */
634 #define basic_bit(x) ((x)->_basic_union_._basic_bit_)
635 #define basic_pointer_p(x) (basic_tag(x)==is_basic_pointer)
636 #define basic_pointer_(x) basic_pointer(x) /* old hack compatible */
637 #define basic_pointer(x) ((x)->_basic_union_._basic_pointer_)
638 #define basic_derived_p(x) (basic_tag(x)==is_basic_derived)
639 #define basic_derived_(x) basic_derived(x) /* old hack compatible */
640 #define basic_derived(x) ((x)->_basic_union_._basic_derived_)
641 #define basic_typedef_p(x) (basic_tag(x)==is_basic_typedef)
642 #define basic_typedef_(x) basic_typedef(x) /* old hack compatible */
643 #define basic_typedef(x) ((x)->_basic_union_._basic_typedef_)
644 
645 /* CALLEES
646  */
647 #define CALLEES(x) ((callees)((x).p))
648 #define callees_CAST(x) CALLEES(x)
649 #define CALLEES_CAST(x) CALLEES(x)
650 #define CALLEES_(x) ((x).e)
651 #define CALLEES_TYPE callees
652 #define callees_TYPE callees
653 #define callees_undefined ((callees)gen_chunk_undefined)
654 #define callees_undefined_p(x) ((x)==callees_undefined)
655 
657 extern void free_callees(callees);
659 extern bool callees_consistent_p(callees);
660 extern bool callees_defined_p(callees);
661 #define gen_CALLEES_cons gen_callees_cons
665 extern void write_callees(FILE*, callees);
666 extern callees read_callees(FILE*);
667 extern callees make_callees(list);
668 
672 };
673 
674 #define callees_domain_number(x) ((x)->_type_)
675 #define callees_callees(x) ((x)->_callees_holder_)
676 
677 /* CALL
678  */
679 #define CALL(x) ((call)((x).p))
680 #define call_CAST(x) CALL(x)
681 #define CALL_CAST(x) CALL(x)
682 #define CALL_(x) ((x).e)
683 #define CALL_TYPE call
684 #define call_TYPE call
685 #define call_undefined ((call)gen_chunk_undefined)
686 #define call_undefined_p(x) ((x)==call_undefined)
687 
688 extern call copy_call(call);
689 extern void free_call(call);
690 extern call check_call(call);
691 extern bool call_consistent_p(call);
692 extern bool call_defined_p(call);
693 #define gen_CALL_cons gen_call_cons
694 extern list gen_call_cons(call, list);
695 extern void call_assign_contents(call, call);
696 extern void call_non_recursive_free(call);
697 extern void write_call(FILE*, call);
698 extern call read_call(FILE*);
699 extern call make_call(entity, list);
700 
703  entity _call_function_; /* function:entity */
704  list _call_arguments_; /* arguments:expression* */
705 };
706 
707 #define call_domain_number(x) ((x)->_type_)
708 #define call_function_(x) call_function(x) /* old hack compatible */
709 #define call_function(x) ((x)->_call_function_)
710 #define call_arguments_(x) call_arguments(x) /* old hack compatible */
711 #define call_arguments(x) ((x)->_call_arguments_)
712 
713 /* CAST
714  */
715 #define CAST(x) ((cast)((x).p))
716 #define cast_CAST(x) CAST(x)
717 #define CAST_CAST(x) CAST(x)
718 #define CAST_(x) ((x).e)
719 #define CAST_TYPE cast
720 #define cast_TYPE cast
721 #define cast_undefined ((cast)gen_chunk_undefined)
722 #define cast_undefined_p(x) ((x)==cast_undefined)
723 
724 extern cast copy_cast(cast);
725 extern void free_cast(cast);
726 extern cast check_cast(cast);
727 extern bool cast_consistent_p(cast);
728 extern bool cast_defined_p(cast);
729 #define gen_CAST_cons gen_cast_cons
730 extern list gen_cast_cons(cast, list);
731 extern void cast_assign_contents(cast, cast);
732 extern void cast_non_recursive_free(cast);
733 extern void write_cast(FILE*, cast);
734 extern cast read_cast(FILE*);
735 extern cast make_cast(type, expression);
736 
739  type _cast_type_; /* type:type */
740  expression _cast_expression_; /* expression:expression */
741 };
742 
743 #define cast_domain_number(x) ((x)->_type_)
744 #define cast_type_(x) cast_type(x) /* old hack compatible */
745 #define cast_type(x) ((x)->_cast_type_)
746 #define cast_expression_(x) cast_expression(x) /* old hack compatible */
747 #define cast_expression(x) ((x)->_cast_expression_)
748 
749 /* CODE
750  */
751 #define CODE(x) ((code)((x).p))
752 #define code_CAST(x) CODE(x)
753 #define CODE_CAST(x) CODE(x)
754 #define CODE_(x) ((x).e)
755 #define CODE_TYPE code
756 #define code_TYPE code
757 #define code_undefined ((code)gen_chunk_undefined)
758 #define code_undefined_p(x) ((x)==code_undefined)
759 
760 extern code copy_code(code);
761 extern void free_code(code);
762 extern code check_code(code);
763 extern bool code_consistent_p(code);
764 extern bool code_defined_p(code);
765 #define gen_CODE_cons gen_code_cons
766 extern list gen_code_cons(code, list);
767 extern void code_assign_contents(code, code);
768 extern void code_non_recursive_free(code);
769 extern void write_code(FILE*, code);
770 extern code read_code(FILE*);
771 extern code make_code(list, string, sequence, list, language);
772 
775  list _code_declarations_; /* declarations:entity* */
776  string _code_decls_text_; /* decls_text:string */
777  sequence _code_initializations_; /* initializations:sequence */
778  list _code_externs_; /* externs:entity* */
779  language _code_language_; /* language:language */
780 };
781 
782 #define code_domain_number(x) ((x)->_type_)
783 #define code_declarations_(x) code_declarations(x) /* old hack compatible */
784 #define code_declarations(x) ((x)->_code_declarations_)
785 #define code_decls_text_(x) code_decls_text(x) /* old hack compatible */
786 #define code_decls_text(x) ((x)->_code_decls_text_)
787 #define code_initializations_(x) code_initializations(x) /* old hack compatible */
788 #define code_initializations(x) ((x)->_code_initializations_)
789 #define code_externs_(x) code_externs(x) /* old hack compatible */
790 #define code_externs(x) ((x)->_code_externs_)
791 #define code_language_(x) code_language(x) /* old hack compatible */
792 #define code_language(x) ((x)->_code_language_)
793 
794 /* CONSTANT
795  */
796 #define CONSTANT(x) ((constant)((x).p))
797 #define constant_CAST(x) CONSTANT(x)
798 #define CONSTANT_CAST(x) CONSTANT(x)
799 #define CONSTANT_(x) ((x).e)
800 #define CONSTANT_TYPE constant
801 #define constant_TYPE constant
802 #define constant_undefined ((constant)gen_chunk_undefined)
803 #define constant_undefined_p(x) ((x)==constant_undefined)
804 
806 extern void free_constant(constant);
808 extern bool constant_consistent_p(constant);
809 extern bool constant_defined_p(constant);
810 #define gen_CONSTANT_cons gen_constant_cons
814 extern void write_constant(FILE*, constant);
815 extern constant read_constant(FILE*);
823 };
824 extern string constant_tag_as_string(enum constant_utype);
825 extern constant make_constant(enum constant_utype, void *);
827 extern constant make_constant_float(float);
829 extern constant make_constant_litteral(void);
831 extern constant make_constant_unknown(void);
832 
836  union {
837  intptr_t _constant_int_; /* int:int */
838  gen_chunk _constant_float_; /* float:float */
839  intptr_t _constant_logical_; /* logical:int */
840  gen_chunk _constant_litteral_; /* litteral:unit */
841  entity _constant_call_; /* call:entity */
842  gen_chunk _constant_unknown_; /* unknown:unit */
844 };
845 
846 #define constant_domain_number(x) ((x)->_type_)
847 #define constant_tag(x) ((x)->_constant_tag__)
848 #define constant_int_p(x) (constant_tag(x)==is_constant_int)
849 #define constant_int_(x) constant_int(x) /* old hack compatible */
850 #define constant_int(x) ((x)->_constant_union_._constant_int_)
851 #define constant_float_p(x) (constant_tag(x)==is_constant_float)
852 #define constant_float_(x) constant_float(x) /* old hack compatible */
853 #define constant_float(x) ((x)->_constant_union_._constant_float_.f)
854 #define constant_logical_p(x) (constant_tag(x)==is_constant_logical)
855 #define constant_logical_(x) constant_logical(x) /* old hack compatible */
856 #define constant_logical(x) ((x)->_constant_union_._constant_logical_)
857 #define constant_litteral_p(x) (constant_tag(x)==is_constant_litteral)
858 #define constant_litteral_(x) constant_litteral(x) /* old hack compatible */
859 #define constant_litteral(x) ((x)->_constant_union_._constant_litteral_.u)
860 #define constant_call_p(x) (constant_tag(x)==is_constant_call)
861 #define constant_call_(x) constant_call(x) /* old hack compatible */
862 #define constant_call(x) ((x)->_constant_union_._constant_call_)
863 #define constant_unknown_p(x) (constant_tag(x)==is_constant_unknown)
864 #define constant_unknown_(x) constant_unknown(x) /* old hack compatible */
865 #define constant_unknown(x) ((x)->_constant_union_._constant_unknown_.u)
866 
867 /* CONTROLMAP
868  */
869 #define CONTROLMAP(x) ((controlmap)((x).p))
870 #define controlmap_CAST(x) CONTROLMAP(x)
871 #define CONTROLMAP_CAST(x) CONTROLMAP(x)
872 #define CONTROLMAP_(x) ((x).e)
873 #define CONTROLMAP_TYPE controlmap
874 #define controlmap_TYPE controlmap
875 #define controlmap_undefined ((controlmap)gen_chunk_undefined)
876 #define controlmap_undefined_p(x) ((x)==controlmap_undefined)
877 
879 extern void free_controlmap(controlmap);
882 extern bool controlmap_defined_p(controlmap);
883 #define gen_CONTROLMAP_cons gen_controlmap_cons
887 extern void write_controlmap(FILE*, controlmap);
888 extern controlmap read_controlmap(FILE*);
889 extern controlmap make_controlmap(void);
890 
894 };
895 
896 #define controlmap_domain_number(x) ((x)->_type_)
897 #define controlmap_hash_table(x) ((x)->_controlmap_holder_)
898 #define controlmap_key_type statement
899 #define controlmap_value_type control
900 #define CONTROLMAP_MAP(k,v,c,f) FUNCTION_MAP(controlmap,p,p,k,v,c,f)
901 #define CONTROLMAP_FOREACH(k,v,f) FUNCTION_FOREACH(controlmap,p,p,k,v,f)
907 
908 /* CONTROL
909  */
910 #define CONTROL(x) ((control)((x).p))
911 #define control_CAST(x) CONTROL(x)
912 #define CONTROL_CAST(x) CONTROL(x)
913 #define CONTROL_(x) ((x).e)
914 #define CONTROL_TYPE control
915 #define control_TYPE control
916 #define control_undefined ((control)gen_chunk_undefined)
917 #define control_undefined_p(x) ((x)==control_undefined)
918 
920 extern void free_control(control);
922 extern bool control_consistent_p(control);
923 extern bool control_defined_p(control);
924 #define gen_CONTROL_cons gen_control_cons
928 extern void write_control(FILE*, control);
929 extern control read_control(FILE*);
931 
934  statement _control_statement_; /* statement:statement */
935  list _control_predecessors_; /* predecessors:control* */
936  list _control_successors_; /* successors:control* */
937 };
938 
939 #define control_domain_number(x) ((x)->_type_)
940 #define control_statement_(x) control_statement(x) /* old hack compatible */
941 #define control_statement(x) ((x)->_control_statement_)
942 #define control_predecessors_(x) control_predecessors(x) /* old hack compatible */
943 #define control_predecessors(x) ((x)->_control_predecessors_)
944 #define control_successors_(x) control_successors(x) /* old hack compatible */
945 #define control_successors(x) ((x)->_control_successors_)
946 
947 /* DIMENSION
948  */
949 #define DIMENSION(x) ((dimension)((x).p))
950 #define dimension_CAST(x) DIMENSION(x)
951 #define DIMENSION_CAST(x) DIMENSION(x)
952 #define DIMENSION_(x) ((x).e)
953 #define DIMENSION_TYPE dimension
954 #define dimension_TYPE dimension
955 #define dimension_undefined ((dimension)gen_chunk_undefined)
956 #define dimension_undefined_p(x) ((x)==dimension_undefined)
957 
959 extern void free_dimension(dimension);
961 extern bool dimension_consistent_p(dimension);
962 extern bool dimension_defined_p(dimension);
963 #define gen_DIMENSION_cons gen_dimension_cons
967 extern void write_dimension(FILE*, dimension);
968 extern dimension read_dimension(FILE*);
970 
973  expression _dimension_lower_; /* lower:expression */
974  expression _dimension_upper_; /* upper:expression */
975  list _dimension_qualifiers_; /* qualifiers:qualifier* */
976 };
977 
978 #define dimension_domain_number(x) ((x)->_type_)
979 #define dimension_lower_(x) dimension_lower(x) /* old hack compatible */
980 #define dimension_lower(x) ((x)->_dimension_lower_)
981 #define dimension_upper_(x) dimension_upper(x) /* old hack compatible */
982 #define dimension_upper(x) ((x)->_dimension_upper_)
983 #define dimension_qualifiers_(x) dimension_qualifiers(x) /* old hack compatible */
984 #define dimension_qualifiers(x) ((x)->_dimension_qualifiers_)
985 
986 /* DUMMY
987  */
988 #define DUMMY(x) ((dummy)((x).p))
989 #define dummy_CAST(x) DUMMY(x)
990 #define DUMMY_CAST(x) DUMMY(x)
991 #define DUMMY_(x) ((x).e)
992 #define DUMMY_TYPE dummy
993 #define dummy_TYPE dummy
994 #define dummy_undefined ((dummy)gen_chunk_undefined)
995 #define dummy_undefined_p(x) ((x)==dummy_undefined)
996 
997 extern dummy copy_dummy(dummy);
998 extern void free_dummy(dummy);
999 extern dummy check_dummy(dummy);
1000 extern bool dummy_consistent_p(dummy);
1001 extern bool dummy_defined_p(dummy);
1002 #define gen_DUMMY_cons gen_dummy_cons
1003 extern list gen_dummy_cons(dummy, list);
1004 extern void dummy_assign_contents(dummy, dummy);
1005 extern void dummy_non_recursive_free(dummy);
1006 extern void write_dummy(FILE*, dummy);
1007 extern dummy read_dummy(FILE*);
1011 };
1012 extern string dummy_tag_as_string(enum dummy_utype);
1013 extern dummy make_dummy(enum dummy_utype, void *);
1014 extern dummy make_dummy_unknown(void);
1016 
1020  union {
1021  gen_chunk _dummy_unknown_; /* unknown:unit */
1022  entity _dummy_identifier_; /* identifier:entity */
1024 };
1025 
1026 #define dummy_domain_number(x) ((x)->_type_)
1027 #define dummy_tag(x) ((x)->_dummy_tag__)
1028 #define dummy_unknown_p(x) (dummy_tag(x)==is_dummy_unknown)
1029 #define dummy_unknown_(x) dummy_unknown(x) /* old hack compatible */
1030 #define dummy_unknown(x) ((x)->_dummy_union_._dummy_unknown_.u)
1031 #define dummy_identifier_p(x) (dummy_tag(x)==is_dummy_identifier)
1032 #define dummy_identifier_(x) dummy_identifier(x) /* old hack compatible */
1033 #define dummy_identifier(x) ((x)->_dummy_union_._dummy_identifier_)
1034 
1035 /* ENTITY_INT
1036  */
1037 #define ENTITY_INT(x) ((entity_int)((x).p))
1038 #define entity_int_CAST(x) ENTITY_INT(x)
1039 #define ENTITY_INT_CAST(x) ENTITY_INT(x)
1040 #define ENTITY_INT_(x) ((x).e)
1041 #define ENTITY_INT_TYPE entity_int
1042 #define entity_int_TYPE entity_int
1043 #define entity_int_undefined ((entity_int)gen_chunk_undefined)
1044 #define entity_int_undefined_p(x) ((x)==entity_int_undefined)
1045 
1047 extern void free_entity_int(entity_int);
1049 extern bool entity_int_consistent_p(entity_int);
1050 extern bool entity_int_defined_p(entity_int);
1051 #define gen_ENTITY_INT_cons gen_entity_int_cons
1055 extern void write_entity_int(FILE*, entity_int);
1056 extern entity_int read_entity_int(FILE*);
1057 extern entity_int make_entity_int(void);
1058 
1062 };
1063 
1064 #define entity_int_domain_number(x) ((x)->_type_)
1065 #define entity_int_hash_table(x) ((x)->_entity_int_holder_)
1066 #define entity_int_key_type entity
1067 #define entity_int_value_type intptr_t
1068 #define ENTITY_INT_MAP(k,v,c,f) FUNCTION_MAP(entity_int,p,i,k,v,c,f)
1069 #define ENTITY_INT_FOREACH(k,v,f) FUNCTION_FOREACH(entity_int,p,i,k,v,f)
1074 extern bool bound_entity_int_p(entity_int, entity);
1075 
1076 /* ENTITY_TO_ENTITY
1077  */
1078 #define ENTITY_TO_ENTITY(x) ((entity_to_entity)((x).p))
1079 #define entity_to_entity_CAST(x) ENTITY_TO_ENTITY(x)
1080 #define ENTITY_TO_ENTITY_CAST(x) ENTITY_TO_ENTITY(x)
1081 #define ENTITY_TO_ENTITY_(x) ((x).e)
1082 #define ENTITY_TO_ENTITY_TYPE entity_to_entity
1083 #define entity_to_entity_TYPE entity_to_entity
1084 #define entity_to_entity_undefined ((entity_to_entity)gen_chunk_undefined)
1085 #define entity_to_entity_undefined_p(x) ((x)==entity_to_entity_undefined)
1086 
1092 #define gen_ENTITY_TO_ENTITY_cons gen_entity_to_entity_cons
1096 extern void write_entity_to_entity(FILE*, entity_to_entity);
1099 
1103 };
1104 
1105 #define entity_to_entity_domain_number(x) ((x)->_type_)
1106 #define entity_to_entity_hash_table(x) ((x)->_entity_to_entity_holder_)
1107 #define entity_to_entity_key_type entity
1108 #define entity_to_entity_value_type entity
1109 #define ENTITY_TO_ENTITY_MAP(k,v,c,f) FUNCTION_MAP(entity_to_entity,p,p,k,v,c,f)
1110 #define ENTITY_TO_ENTITY_FOREACH(k,v,f) FUNCTION_FOREACH(entity_to_entity,p,p,k,v,f)
1116 
1117 /* EVALUATION
1118  */
1119 #define EVALUATION(x) ((evaluation)((x).p))
1120 #define evaluation_CAST(x) EVALUATION(x)
1121 #define EVALUATION_CAST(x) EVALUATION(x)
1122 #define EVALUATION_(x) ((x).e)
1123 #define EVALUATION_TYPE evaluation
1124 #define evaluation_TYPE evaluation
1125 #define evaluation_undefined ((evaluation)gen_chunk_undefined)
1126 #define evaluation_undefined_p(x) ((x)==evaluation_undefined)
1127 
1129 extern void free_evaluation(evaluation);
1131 extern bool evaluation_consistent_p(evaluation);
1132 extern bool evaluation_defined_p(evaluation);
1133 #define gen_EVALUATION_cons gen_evaluation_cons
1137 extern void write_evaluation(FILE*, evaluation);
1138 extern evaluation read_evaluation(FILE*);
1142 };
1143 extern string evaluation_tag_as_string(enum evaluation_utype);
1144 extern evaluation make_evaluation(enum evaluation_utype, void *);
1145 extern evaluation make_evaluation_before(void);
1146 extern evaluation make_evaluation_after(void);
1147 
1151  union {
1152  gen_chunk _evaluation_before_; /* before:unit */
1153  gen_chunk _evaluation_after_; /* after:unit */
1155 };
1156 
1157 #define evaluation_domain_number(x) ((x)->_type_)
1158 #define evaluation_tag(x) ((x)->_evaluation_tag__)
1159 #define evaluation_before_p(x) (evaluation_tag(x)==is_evaluation_before)
1160 #define evaluation_before_(x) evaluation_before(x) /* old hack compatible */
1161 #define evaluation_before(x) ((x)->_evaluation_union_._evaluation_before_.u)
1162 #define evaluation_after_p(x) (evaluation_tag(x)==is_evaluation_after)
1163 #define evaluation_after_(x) evaluation_after(x) /* old hack compatible */
1164 #define evaluation_after(x) ((x)->_evaluation_union_._evaluation_after_.u)
1165 
1166 /* EXECUTION
1167  */
1168 #define EXECUTION(x) ((execution)((x).p))
1169 #define execution_CAST(x) EXECUTION(x)
1170 #define EXECUTION_CAST(x) EXECUTION(x)
1171 #define EXECUTION_(x) ((x).e)
1172 #define EXECUTION_TYPE execution
1173 #define execution_TYPE execution
1174 #define execution_undefined ((execution)gen_chunk_undefined)
1175 #define execution_undefined_p(x) ((x)==execution_undefined)
1176 
1178 extern void free_execution(execution);
1180 extern bool execution_consistent_p(execution);
1181 extern bool execution_defined_p(execution);
1182 #define gen_EXECUTION_cons gen_execution_cons
1186 extern void write_execution(FILE*, execution);
1187 extern execution read_execution(FILE*);
1191 };
1192 extern string execution_tag_as_string(enum execution_utype);
1193 extern execution make_execution(enum execution_utype, void *);
1195 extern execution make_execution_parallel(void);
1196 
1200  union {
1201  gen_chunk _execution_sequential_; /* sequential:unit */
1202  gen_chunk _execution_parallel_; /* parallel:unit */
1204 };
1205 
1206 #define execution_domain_number(x) ((x)->_type_)
1207 #define execution_tag(x) ((x)->_execution_tag__)
1208 #define execution_sequential_p(x) (execution_tag(x)==is_execution_sequential)
1209 #define execution_sequential_(x) execution_sequential(x) /* old hack compatible */
1210 #define execution_sequential(x) ((x)->_execution_union_._execution_sequential_.u)
1211 #define execution_parallel_p(x) (execution_tag(x)==is_execution_parallel)
1212 #define execution_parallel_(x) execution_parallel(x) /* old hack compatible */
1213 #define execution_parallel(x) ((x)->_execution_union_._execution_parallel_.u)
1214 
1215 /* EXPRESSION
1216  */
1217 #define EXPRESSION(x) ((expression)((x).p))
1218 #define expression_CAST(x) EXPRESSION(x)
1219 #define EXPRESSION_CAST(x) EXPRESSION(x)
1220 #define EXPRESSION_(x) ((x).e)
1221 #define EXPRESSION_TYPE expression
1222 #define expression_TYPE expression
1223 #define expression_undefined ((expression)gen_chunk_undefined)
1224 #define expression_undefined_p(x) ((x)==expression_undefined)
1225 
1227 extern void free_expression(expression);
1229 extern bool expression_consistent_p(expression);
1230 extern bool expression_defined_p(expression);
1231 #define gen_EXPRESSION_cons gen_expression_cons
1235 extern void write_expression(FILE*, expression);
1236 extern expression read_expression(FILE*);
1238 
1241  syntax _expression_syntax_; /* syntax:syntax */
1242  normalized _expression_normalized_; /* normalized:normalized */
1243 };
1244 
1245 #define expression_domain_number(x) ((x)->_type_)
1246 #define expression_syntax_(x) expression_syntax(x) /* old hack compatible */
1247 #define expression_syntax(x) ((x)->_expression_syntax_)
1248 #define expression_normalized_(x) expression_normalized(x) /* old hack compatible */
1249 #define expression_normalized(x) ((x)->_expression_normalized_)
1250 
1251 /* EXTENSION
1252  */
1253 #define EXTENSION(x) ((extension)((x).p))
1254 #define extension_CAST(x) EXTENSION(x)
1255 #define EXTENSION_CAST(x) EXTENSION(x)
1256 #define EXTENSION_(x) ((x).e)
1257 #define EXTENSION_TYPE extension
1258 #define extension_TYPE extension
1259 #define extension_undefined ((extension)gen_chunk_undefined)
1260 #define extension_undefined_p(x) ((x)==extension_undefined)
1261 
1263 extern void free_extension(extension);
1265 extern bool extension_consistent_p(extension);
1266 extern bool extension_defined_p(extension);
1267 #define gen_EXTENSION_cons gen_extension_cons
1271 extern void write_extension(FILE*, extension);
1272 extern extension read_extension(FILE*);
1276 };
1277 extern string extension_tag_as_string(enum extension_utype);
1278 extern extension make_extension(enum extension_utype, void *);
1280 extern extension make_extension_unknown(void);
1281 
1285  union {
1286  pragma _extension_pragma_; /* pragma:pragma */
1287  gen_chunk _extension_unknown_; /* unknown:unit */
1289 };
1290 
1291 #define extension_domain_number(x) ((x)->_type_)
1292 #define extension_tag(x) ((x)->_extension_tag__)
1293 #define extension_pragma_p(x) (extension_tag(x)==is_extension_pragma)
1294 #define extension_pragma_(x) extension_pragma(x) /* old hack compatible */
1295 #define extension_pragma(x) ((x)->_extension_union_._extension_pragma_)
1296 #define extension_unknown_p(x) (extension_tag(x)==is_extension_unknown)
1297 #define extension_unknown_(x) extension_unknown(x) /* old hack compatible */
1298 #define extension_unknown(x) ((x)->_extension_union_._extension_unknown_.u)
1299 
1300 /* EXTENSIONS
1301  */
1302 #define EXTENSIONS(x) ((extensions)((x).p))
1303 #define extensions_CAST(x) EXTENSIONS(x)
1304 #define EXTENSIONS_CAST(x) EXTENSIONS(x)
1305 #define EXTENSIONS_(x) ((x).e)
1306 #define EXTENSIONS_TYPE extensions
1307 #define extensions_TYPE extensions
1308 #define extensions_undefined ((extensions)gen_chunk_undefined)
1309 #define extensions_undefined_p(x) ((x)==extensions_undefined)
1310 
1312 extern void free_extensions(extensions);
1314 extern bool extensions_consistent_p(extensions);
1315 extern bool extensions_defined_p(extensions);
1316 #define gen_EXTENSIONS_cons gen_extensions_cons
1320 extern void write_extensions(FILE*, extensions);
1321 extern extensions read_extensions(FILE*);
1323 
1327 };
1328 
1329 #define extensions_domain_number(x) ((x)->_type_)
1330 #define extensions_extension(x) ((x)->_extensions_holder_)
1331 
1332 /* FORLOOP
1333  */
1334 #define FORLOOP(x) ((forloop)((x).p))
1335 #define forloop_CAST(x) FORLOOP(x)
1336 #define FORLOOP_CAST(x) FORLOOP(x)
1337 #define FORLOOP_(x) ((x).e)
1338 #define FORLOOP_TYPE forloop
1339 #define forloop_TYPE forloop
1340 #define forloop_undefined ((forloop)gen_chunk_undefined)
1341 #define forloop_undefined_p(x) ((x)==forloop_undefined)
1342 
1343 extern forloop copy_forloop(forloop);
1344 extern void free_forloop(forloop);
1345 extern forloop check_forloop(forloop);
1346 extern bool forloop_consistent_p(forloop);
1347 extern bool forloop_defined_p(forloop);
1348 #define gen_FORLOOP_cons gen_forloop_cons
1351 extern void forloop_non_recursive_free(forloop);
1352 extern void write_forloop(FILE*, forloop);
1353 extern forloop read_forloop(FILE*);
1355 
1358  expression _forloop_initialization_; /* initialization:expression */
1359  expression _forloop_condition_; /* condition:expression */
1360  expression _forloop_increment_; /* increment:expression */
1361  statement _forloop_body_; /* body:statement */
1362 };
1363 
1364 #define forloop_domain_number(x) ((x)->_type_)
1365 #define forloop_initialization_(x) forloop_initialization(x) /* old hack compatible */
1366 #define forloop_initialization(x) ((x)->_forloop_initialization_)
1367 #define forloop_condition_(x) forloop_condition(x) /* old hack compatible */
1368 #define forloop_condition(x) ((x)->_forloop_condition_)
1369 #define forloop_increment_(x) forloop_increment(x) /* old hack compatible */
1370 #define forloop_increment(x) ((x)->_forloop_increment_)
1371 #define forloop_body_(x) forloop_body(x) /* old hack compatible */
1372 #define forloop_body(x) ((x)->_forloop_body_)
1373 
1374 /* FORMAL
1375  */
1376 #define FORMAL(x) ((formal)((x).p))
1377 #define formal_CAST(x) FORMAL(x)
1378 #define FORMAL_CAST(x) FORMAL(x)
1379 #define FORMAL_(x) ((x).e)
1380 #define FORMAL_TYPE formal
1381 #define formal_TYPE formal
1382 #define formal_undefined ((formal)gen_chunk_undefined)
1383 #define formal_undefined_p(x) ((x)==formal_undefined)
1384 
1385 extern formal copy_formal(formal);
1386 extern void free_formal(formal);
1387 extern formal check_formal(formal);
1388 extern bool formal_consistent_p(formal);
1389 extern bool formal_defined_p(formal);
1390 #define gen_FORMAL_cons gen_formal_cons
1391 extern list gen_formal_cons(formal, list);
1392 extern void formal_assign_contents(formal, formal);
1393 extern void formal_non_recursive_free(formal);
1394 extern void write_formal(FILE*, formal);
1395 extern formal read_formal(FILE*);
1397 
1400  entity _formal_function_; /* function:entity */
1401  intptr_t _formal_offset_; /* offset:int */
1402 };
1403 
1404 #define formal_domain_number(x) ((x)->_type_)
1405 #define formal_function_(x) formal_function(x) /* old hack compatible */
1406 #define formal_function(x) ((x)->_formal_function_)
1407 #define formal_offset_(x) formal_offset(x) /* old hack compatible */
1408 #define formal_offset(x) ((x)->_formal_offset_)
1409 
1410 /* FUNCTIONAL
1411  */
1412 #define FUNCTIONAL(x) ((functional)((x).p))
1413 #define functional_CAST(x) FUNCTIONAL(x)
1414 #define FUNCTIONAL_CAST(x) FUNCTIONAL(x)
1415 #define FUNCTIONAL_(x) ((x).e)
1416 #define FUNCTIONAL_TYPE functional
1417 #define functional_TYPE functional
1418 #define functional_undefined ((functional)gen_chunk_undefined)
1419 #define functional_undefined_p(x) ((x)==functional_undefined)
1420 
1422 extern void free_functional(functional);
1424 extern bool functional_consistent_p(functional);
1425 extern bool functional_defined_p(functional);
1426 #define gen_FUNCTIONAL_cons gen_functional_cons
1430 extern void write_functional(FILE*, functional);
1431 extern functional read_functional(FILE*);
1433 
1436  list _functional_parameters_; /* parameters:parameter* */
1437  type _functional_result_; /* result:type */
1438 };
1439 
1440 #define functional_domain_number(x) ((x)->_type_)
1441 #define functional_parameters_(x) functional_parameters(x) /* old hack compatible */
1442 #define functional_parameters(x) ((x)->_functional_parameters_)
1443 #define functional_result_(x) functional_result(x) /* old hack compatible */
1444 #define functional_result(x) ((x)->_functional_result_)
1445 
1446 /* INSTRUCTION
1447  */
1448 #define INSTRUCTION(x) ((instruction)((x).p))
1449 #define instruction_CAST(x) INSTRUCTION(x)
1450 #define INSTRUCTION_CAST(x) INSTRUCTION(x)
1451 #define INSTRUCTION_(x) ((x).e)
1452 #define INSTRUCTION_TYPE instruction
1453 #define instruction_TYPE instruction
1454 #define instruction_undefined ((instruction)gen_chunk_undefined)
1455 #define instruction_undefined_p(x) ((x)==instruction_undefined)
1456 
1458 extern void free_instruction(instruction);
1461 extern bool instruction_defined_p(instruction);
1462 #define gen_INSTRUCTION_cons gen_instruction_cons
1466 extern void write_instruction(FILE*, instruction);
1467 extern instruction read_instruction(FILE*);
1479 };
1480 extern string instruction_tag_as_string(enum instruction_utype);
1481 extern instruction make_instruction(enum instruction_utype, void *);
1492 
1496  union {
1497  sequence _instruction_sequence_; /* sequence:sequence */
1498  test _instruction_test_; /* test:test */
1499  loop _instruction_loop_; /* loop:loop */
1500  whileloop _instruction_whileloop_; /* whileloop:whileloop */
1501  statement _instruction_goto_; /* goto:statement */
1502  call _instruction_call_; /* call:call */
1503  unstructured _instruction_unstructured_; /* unstructured:unstructured */
1504  multitest _instruction_multitest_; /* multitest:multitest */
1505  forloop _instruction_forloop_; /* forloop:forloop */
1506  expression _instruction_expression_; /* expression:expression */
1508 };
1509 
1510 #define instruction_domain_number(x) ((x)->_type_)
1511 #define instruction_tag(x) ((x)->_instruction_tag__)
1512 #define instruction_sequence_p(x) (instruction_tag(x)==is_instruction_sequence)
1513 #define instruction_sequence_(x) instruction_sequence(x) /* old hack compatible */
1514 #define instruction_sequence(x) ((x)->_instruction_union_._instruction_sequence_)
1515 #define instruction_test_p(x) (instruction_tag(x)==is_instruction_test)
1516 #define instruction_test_(x) instruction_test(x) /* old hack compatible */
1517 #define instruction_test(x) ((x)->_instruction_union_._instruction_test_)
1518 #define instruction_loop_p(x) (instruction_tag(x)==is_instruction_loop)
1519 #define instruction_loop_(x) instruction_loop(x) /* old hack compatible */
1520 #define instruction_loop(x) ((x)->_instruction_union_._instruction_loop_)
1521 #define instruction_whileloop_p(x) (instruction_tag(x)==is_instruction_whileloop)
1522 #define instruction_whileloop_(x) instruction_whileloop(x) /* old hack compatible */
1523 #define instruction_whileloop(x) ((x)->_instruction_union_._instruction_whileloop_)
1524 #define instruction_goto_p(x) (instruction_tag(x)==is_instruction_goto)
1525 #define instruction_goto_(x) instruction_goto(x) /* old hack compatible */
1526 #define instruction_goto(x) ((x)->_instruction_union_._instruction_goto_)
1527 #define instruction_call_p(x) (instruction_tag(x)==is_instruction_call)
1528 #define instruction_call_(x) instruction_call(x) /* old hack compatible */
1529 #define instruction_call(x) ((x)->_instruction_union_._instruction_call_)
1530 #define instruction_unstructured_p(x) (instruction_tag(x)==is_instruction_unstructured)
1531 #define instruction_unstructured_(x) instruction_unstructured(x) /* old hack compatible */
1532 #define instruction_unstructured(x) ((x)->_instruction_union_._instruction_unstructured_)
1533 #define instruction_multitest_p(x) (instruction_tag(x)==is_instruction_multitest)
1534 #define instruction_multitest_(x) instruction_multitest(x) /* old hack compatible */
1535 #define instruction_multitest(x) ((x)->_instruction_union_._instruction_multitest_)
1536 #define instruction_forloop_p(x) (instruction_tag(x)==is_instruction_forloop)
1537 #define instruction_forloop_(x) instruction_forloop(x) /* old hack compatible */
1538 #define instruction_forloop(x) ((x)->_instruction_union_._instruction_forloop_)
1539 #define instruction_expression_p(x) (instruction_tag(x)==is_instruction_expression)
1540 #define instruction_expression_(x) instruction_expression(x) /* old hack compatible */
1541 #define instruction_expression(x) ((x)->_instruction_union_._instruction_expression_)
1542 
1543 /* LANGUAGE
1544  */
1545 #define LANGUAGE(x) ((language)((x).p))
1546 #define language_CAST(x) LANGUAGE(x)
1547 #define LANGUAGE_CAST(x) LANGUAGE(x)
1548 #define LANGUAGE_(x) ((x).e)
1549 #define LANGUAGE_TYPE language
1550 #define language_TYPE language
1551 #define language_undefined ((language)gen_chunk_undefined)
1552 #define language_undefined_p(x) ((x)==language_undefined)
1553 
1555 extern void free_language(language);
1557 extern bool language_consistent_p(language);
1558 extern bool language_defined_p(language);
1559 #define gen_LANGUAGE_cons gen_language_cons
1563 extern void write_language(FILE*, language);
1564 extern language read_language(FILE*);
1570 };
1571 extern string language_tag_as_string(enum language_utype);
1572 extern language make_language(enum language_utype, void *);
1573 extern language make_language_fortran(void);
1574 extern language make_language_c(void);
1575 extern language make_language_fortran95(void);
1576 extern language make_language_unknown(void);
1577 
1581  union {
1582  gen_chunk _language_fortran_; /* fortran:unit */
1583  gen_chunk _language_c_; /* c:unit */
1584  gen_chunk _language_fortran95_; /* fortran95:unit */
1585  gen_chunk _language_unknown_; /* unknown:unit */
1587 };
1588 
1589 #define language_domain_number(x) ((x)->_type_)
1590 #define language_tag(x) ((x)->_language_tag__)
1591 #define language_fortran_p(x) (language_tag(x)==is_language_fortran)
1592 #define language_fortran_(x) language_fortran(x) /* old hack compatible */
1593 #define language_fortran(x) ((x)->_language_union_._language_fortran_.u)
1594 #define language_c_p(x) (language_tag(x)==is_language_c)
1595 #define language_c_(x) language_c(x) /* old hack compatible */
1596 #define language_c(x) ((x)->_language_union_._language_c_.u)
1597 #define language_fortran95_p(x) (language_tag(x)==is_language_fortran95)
1598 #define language_fortran95_(x) language_fortran95(x) /* old hack compatible */
1599 #define language_fortran95(x) ((x)->_language_union_._language_fortran95_.u)
1600 #define language_unknown_p(x) (language_tag(x)==is_language_unknown)
1601 #define language_unknown_(x) language_unknown(x) /* old hack compatible */
1602 #define language_unknown(x) ((x)->_language_union_._language_unknown_.u)
1603 
1604 /* LOOP
1605  */
1606 #define LOOP(x) ((loop)((x).p))
1607 #define loop_CAST(x) LOOP(x)
1608 #define LOOP_CAST(x) LOOP(x)
1609 #define LOOP_(x) ((x).e)
1610 #define LOOP_TYPE loop
1611 #define loop_TYPE loop
1612 #define loop_undefined ((loop)gen_chunk_undefined)
1613 #define loop_undefined_p(x) ((x)==loop_undefined)
1614 
1615 extern loop copy_loop(loop);
1616 extern void free_loop(loop);
1617 extern loop check_loop(loop);
1618 extern bool loop_consistent_p(loop);
1619 extern bool loop_defined_p(loop);
1620 #define gen_LOOP_cons gen_loop_cons
1621 extern list gen_loop_cons(loop, list);
1622 extern void loop_assign_contents(loop, loop);
1623 extern void loop_non_recursive_free(loop);
1624 extern void write_loop(FILE*, loop);
1625 extern loop read_loop(FILE*);
1627 
1630  entity _loop_index_; /* index:entity */
1631  range _loop_range_; /* range:range */
1632  statement _loop_body_; /* body:statement */
1633  entity _loop_label_; /* label:entity */
1634  execution _loop_execution_; /* execution:execution */
1635  list _loop_locals_; /* locals:entity* */
1636 };
1637 
1638 #define loop_domain_number(x) ((x)->_type_)
1639 #define loop_index_(x) loop_index(x) /* old hack compatible */
1640 #define loop_index(x) ((x)->_loop_index_)
1641 #define loop_range_(x) loop_range(x) /* old hack compatible */
1642 #define loop_range(x) ((x)->_loop_range_)
1643 #define loop_body_(x) loop_body(x) /* old hack compatible */
1644 #define loop_body(x) ((x)->_loop_body_)
1645 #define loop_label_(x) loop_label(x) /* old hack compatible */
1646 #define loop_label(x) ((x)->_loop_label_)
1647 #define loop_execution_(x) loop_execution(x) /* old hack compatible */
1648 #define loop_execution(x) ((x)->_loop_execution_)
1649 #define loop_locals_(x) loop_locals(x) /* old hack compatible */
1650 #define loop_locals(x) ((x)->_loop_locals_)
1651 
1652 /* MODE
1653  */
1654 #define MODE(x) ((mode)((x).p))
1655 #define mode_CAST(x) MODE(x)
1656 #define MODE_CAST(x) MODE(x)
1657 #define MODE_(x) ((x).e)
1658 #define MODE_TYPE mode
1659 #define mode_TYPE mode
1660 #define mode_undefined ((mode)gen_chunk_undefined)
1661 #define mode_undefined_p(x) ((x)==mode_undefined)
1662 
1663 extern mode copy_mode(mode);
1664 extern void free_mode(mode);
1665 extern mode check_mode(mode);
1666 extern bool mode_consistent_p(mode);
1667 extern bool mode_defined_p(mode);
1668 #define gen_MODE_cons gen_mode_cons
1669 extern list gen_mode_cons(mode, list);
1670 extern void mode_assign_contents(mode, mode);
1671 extern void mode_non_recursive_free(mode);
1672 extern void write_mode(FILE*, mode);
1673 extern mode read_mode(FILE*);
1677 };
1678 extern string mode_tag_as_string(enum mode_utype);
1679 extern mode make_mode(enum mode_utype, void *);
1680 extern mode make_mode_value(void);
1681 extern mode make_mode_reference(void);
1682 
1685  enum mode_utype _mode_tag__;
1686  union {
1687  gen_chunk _mode_value_; /* value:unit */
1688  gen_chunk _mode_reference_; /* reference:unit */
1690 };
1691 
1692 #define mode_domain_number(x) ((x)->_type_)
1693 #define mode_tag(x) ((x)->_mode_tag__)
1694 #define mode_value_p(x) (mode_tag(x)==is_mode_value)
1695 #define mode_value_(x) mode_value(x) /* old hack compatible */
1696 #define mode_value(x) ((x)->_mode_union_._mode_value_.u)
1697 #define mode_reference_p(x) (mode_tag(x)==is_mode_reference)
1698 #define mode_reference_(x) mode_reference(x) /* old hack compatible */
1699 #define mode_reference(x) ((x)->_mode_union_._mode_reference_.u)
1700 
1701 /* MULTITEST
1702  */
1703 #define MULTITEST(x) ((multitest)((x).p))
1704 #define multitest_CAST(x) MULTITEST(x)
1705 #define MULTITEST_CAST(x) MULTITEST(x)
1706 #define MULTITEST_(x) ((x).e)
1707 #define MULTITEST_TYPE multitest
1708 #define multitest_TYPE multitest
1709 #define multitest_undefined ((multitest)gen_chunk_undefined)
1710 #define multitest_undefined_p(x) ((x)==multitest_undefined)
1711 
1713 extern void free_multitest(multitest);
1715 extern bool multitest_consistent_p(multitest);
1716 extern bool multitest_defined_p(multitest);
1717 #define gen_MULTITEST_cons gen_multitest_cons
1721 extern void write_multitest(FILE*, multitest);
1722 extern multitest read_multitest(FILE*);
1724 
1727  expression _multitest_controller_; /* controller:expression */
1728  statement _multitest_body_; /* body:statement */
1729 };
1730 
1731 #define multitest_domain_number(x) ((x)->_type_)
1732 #define multitest_controller_(x) multitest_controller(x) /* old hack compatible */
1733 #define multitest_controller(x) ((x)->_multitest_controller_)
1734 #define multitest_body_(x) multitest_body(x) /* old hack compatible */
1735 #define multitest_body(x) ((x)->_multitest_body_)
1736 
1737 /* NORMALIZED
1738  */
1739 #define NORMALIZED(x) ((normalized)((x).p))
1740 #define normalized_CAST(x) NORMALIZED(x)
1741 #define NORMALIZED_CAST(x) NORMALIZED(x)
1742 #define NORMALIZED_(x) ((x).e)
1743 #define NORMALIZED_TYPE normalized
1744 #define normalized_TYPE normalized
1745 #define normalized_undefined ((normalized)gen_chunk_undefined)
1746 #define normalized_undefined_p(x) ((x)==normalized_undefined)
1747 
1749 extern void free_normalized(normalized);
1751 extern bool normalized_consistent_p(normalized);
1752 extern bool normalized_defined_p(normalized);
1753 #define gen_NORMALIZED_cons gen_normalized_cons
1757 extern void write_normalized(FILE*, normalized);
1758 extern normalized read_normalized(FILE*);
1762 };
1763 extern string normalized_tag_as_string(enum normalized_utype);
1764 extern normalized make_normalized(enum normalized_utype, void *);
1766 extern normalized make_normalized_complex(void);
1767 
1771  union {
1772  Pvecteur _normalized_linear_; /* linear:Pvecteur */
1773  gen_chunk _normalized_complex_; /* complex:unit */
1775 };
1776 
1777 #define normalized_domain_number(x) ((x)->_type_)
1778 #define normalized_tag(x) ((x)->_normalized_tag__)
1779 #define normalized_linear_p(x) (normalized_tag(x)==is_normalized_linear)
1780 #define normalized_linear_(x) normalized_linear(x) /* old hack compatible */
1781 #define normalized_linear(x) ((x)->_normalized_union_._normalized_linear_)
1782 #define normalized_complex_p(x) (normalized_tag(x)==is_normalized_complex)
1783 #define normalized_complex_(x) normalized_complex(x) /* old hack compatible */
1784 #define normalized_complex(x) ((x)->_normalized_union_._normalized_complex_.u)
1785 
1786 /* PARAMETER
1787  */
1788 #define PARAMETER(x) ((parameter)((x).p))
1789 #define parameter_CAST(x) PARAMETER(x)
1790 #define PARAMETER_CAST(x) PARAMETER(x)
1791 #define PARAMETER_(x) ((x).e)
1792 #define PARAMETER_TYPE parameter
1793 #define parameter_TYPE parameter
1794 #define parameter_undefined ((parameter)gen_chunk_undefined)
1795 #define parameter_undefined_p(x) ((x)==parameter_undefined)
1796 
1798 extern void free_parameter(parameter);
1800 extern bool parameter_consistent_p(parameter);
1801 extern bool parameter_defined_p(parameter);
1802 #define gen_PARAMETER_cons gen_parameter_cons
1806 extern void write_parameter(FILE*, parameter);
1807 extern parameter read_parameter(FILE*);
1809 
1812  type _parameter_type_; /* type:type */
1813  mode _parameter_mode_; /* mode:mode */
1814  dummy _parameter_dummy_; /* dummy:dummy */
1815 };
1816 
1817 #define parameter_domain_number(x) ((x)->_type_)
1818 #define parameter_type_(x) parameter_type(x) /* old hack compatible */
1819 #define parameter_type(x) ((x)->_parameter_type_)
1820 #define parameter_mode_(x) parameter_mode(x) /* old hack compatible */
1821 #define parameter_mode(x) ((x)->_parameter_mode_)
1822 #define parameter_dummy_(x) parameter_dummy(x) /* old hack compatible */
1823 #define parameter_dummy(x) ((x)->_parameter_dummy_)
1824 
1825 /* PERSISTANT_STATEMENT_TO_CLUSTER
1826  */
1827 #define PERSISTANT_STATEMENT_TO_CLUSTER(x) ((persistant_statement_to_cluster)((x).p))
1828 #define persistant_statement_to_cluster_CAST(x) PERSISTANT_STATEMENT_TO_CLUSTER(x)
1829 #define PERSISTANT_STATEMENT_TO_CLUSTER_CAST(x) PERSISTANT_STATEMENT_TO_CLUSTER(x)
1830 #define PERSISTANT_STATEMENT_TO_CLUSTER_(x) ((x).e)
1831 #define PERSISTANT_STATEMENT_TO_CLUSTER_TYPE persistant_statement_to_cluster
1832 #define persistant_statement_to_cluster_TYPE persistant_statement_to_cluster
1833 #define persistant_statement_to_cluster_undefined ((persistant_statement_to_cluster)gen_chunk_undefined)
1834 #define persistant_statement_to_cluster_undefined_p(x) ((x)==persistant_statement_to_cluster_undefined)
1835 
1841 #define gen_PERSISTANT_STATEMENT_TO_CLUSTER_cons gen_persistant_statement_to_cluster_cons
1848 
1852 };
1853 
1854 #define persistant_statement_to_cluster_domain_number(x) ((x)->_type_)
1855 #define persistant_statement_to_cluster_hash_table(x) ((x)->_persistant_statement_to_cluster_holder_)
1856 #define persistant_statement_to_cluster_key_type intptr_t
1857 #define persistant_statement_to_cluster_value_type intptr_t
1858 #define PERSISTANT_STATEMENT_TO_CLUSTER_MAP(k,v,c,f) FUNCTION_MAP(persistant_statement_to_cluster,i,i,k,v,c,f)
1859 #define PERSISTANT_STATEMENT_TO_CLUSTER_FOREACH(k,v,f) FUNCTION_FOREACH(persistant_statement_to_cluster,i,i,k,v,f)
1865 
1866 /* PERSISTANT_STATEMENT_TO_CONTROL
1867  */
1868 #define PERSISTANT_STATEMENT_TO_CONTROL(x) ((persistant_statement_to_control)((x).p))
1869 #define persistant_statement_to_control_CAST(x) PERSISTANT_STATEMENT_TO_CONTROL(x)
1870 #define PERSISTANT_STATEMENT_TO_CONTROL_CAST(x) PERSISTANT_STATEMENT_TO_CONTROL(x)
1871 #define PERSISTANT_STATEMENT_TO_CONTROL_(x) ((x).e)
1872 #define PERSISTANT_STATEMENT_TO_CONTROL_TYPE persistant_statement_to_control
1873 #define persistant_statement_to_control_TYPE persistant_statement_to_control
1874 #define persistant_statement_to_control_undefined ((persistant_statement_to_control)gen_chunk_undefined)
1875 #define persistant_statement_to_control_undefined_p(x) ((x)==persistant_statement_to_control_undefined)
1876 
1882 #define gen_PERSISTANT_STATEMENT_TO_CONTROL_cons gen_persistant_statement_to_control_cons
1889 
1893 };
1894 
1895 #define persistant_statement_to_control_domain_number(x) ((x)->_type_)
1896 #define persistant_statement_to_control_hash_table(x) ((x)->_persistant_statement_to_control_holder_)
1897 #define persistant_statement_to_control_key_type statement
1898 #define persistant_statement_to_control_value_type control
1899 #define PERSISTANT_STATEMENT_TO_CONTROL_MAP(k,v,c,f) FUNCTION_MAP(persistant_statement_to_control,p,p,k,v,c,f)
1900 #define PERSISTANT_STATEMENT_TO_CONTROL_FOREACH(k,v,f) FUNCTION_FOREACH(persistant_statement_to_control,p,p,k,v,f)
1906 
1907 /* PERSISTANT_STATEMENT_TO_INT
1908  */
1909 #define PERSISTANT_STATEMENT_TO_INT(x) ((persistant_statement_to_int)((x).p))
1910 #define persistant_statement_to_int_CAST(x) PERSISTANT_STATEMENT_TO_INT(x)
1911 #define PERSISTANT_STATEMENT_TO_INT_CAST(x) PERSISTANT_STATEMENT_TO_INT(x)
1912 #define PERSISTANT_STATEMENT_TO_INT_(x) ((x).e)
1913 #define PERSISTANT_STATEMENT_TO_INT_TYPE persistant_statement_to_int
1914 #define persistant_statement_to_int_TYPE persistant_statement_to_int
1915 #define persistant_statement_to_int_undefined ((persistant_statement_to_int)gen_chunk_undefined)
1916 #define persistant_statement_to_int_undefined_p(x) ((x)==persistant_statement_to_int_undefined)
1917 
1923 #define gen_PERSISTANT_STATEMENT_TO_INT_cons gen_persistant_statement_to_int_cons
1930 
1934 };
1935 
1936 #define persistant_statement_to_int_domain_number(x) ((x)->_type_)
1937 #define persistant_statement_to_int_hash_table(x) ((x)->_persistant_statement_to_int_holder_)
1938 #define persistant_statement_to_int_key_type statement
1939 #define persistant_statement_to_int_value_type intptr_t
1940 #define PERSISTANT_STATEMENT_TO_INT_MAP(k,v,c,f) FUNCTION_MAP(persistant_statement_to_int,p,i,k,v,c,f)
1941 #define PERSISTANT_STATEMENT_TO_INT_FOREACH(k,v,f) FUNCTION_FOREACH(persistant_statement_to_int,p,i,k,v,f)
1947 
1948 /* PERSISTANT_STATEMENT_TO_STATEMENT
1949  */
1950 #define PERSISTANT_STATEMENT_TO_STATEMENT(x) ((persistant_statement_to_statement)((x).p))
1951 #define persistant_statement_to_statement_CAST(x) PERSISTANT_STATEMENT_TO_STATEMENT(x)
1952 #define PERSISTANT_STATEMENT_TO_STATEMENT_CAST(x) PERSISTANT_STATEMENT_TO_STATEMENT(x)
1953 #define PERSISTANT_STATEMENT_TO_STATEMENT_(x) ((x).e)
1954 #define PERSISTANT_STATEMENT_TO_STATEMENT_TYPE persistant_statement_to_statement
1955 #define persistant_statement_to_statement_TYPE persistant_statement_to_statement
1956 #define persistant_statement_to_statement_undefined ((persistant_statement_to_statement)gen_chunk_undefined)
1957 #define persistant_statement_to_statement_undefined_p(x) ((x)==persistant_statement_to_statement_undefined)
1958 
1964 #define gen_PERSISTANT_STATEMENT_TO_STATEMENT_cons gen_persistant_statement_to_statement_cons
1971 
1975 };
1976 
1977 #define persistant_statement_to_statement_domain_number(x) ((x)->_type_)
1978 #define persistant_statement_to_statement_hash_table(x) ((x)->_persistant_statement_to_statement_holder_)
1979 #define persistant_statement_to_statement_key_type statement
1980 #define persistant_statement_to_statement_value_type statement
1981 #define PERSISTANT_STATEMENT_TO_STATEMENT_MAP(k,v,c,f) FUNCTION_MAP(persistant_statement_to_statement,p,p,k,v,c,f)
1982 #define PERSISTANT_STATEMENT_TO_STATEMENT_FOREACH(k,v,f) FUNCTION_FOREACH(persistant_statement_to_statement,p,p,k,v,f)
1988 
1989 /* PRAGMA
1990  */
1991 #define PRAGMA(x) ((pragma)((x).p))
1992 #define pragma_CAST(x) PRAGMA(x)
1993 #define PRAGMA_CAST(x) PRAGMA(x)
1994 #define PRAGMA_(x) ((x).e)
1995 #define PRAGMA_TYPE pragma
1996 #define pragma_TYPE pragma
1997 #define pragma_undefined ((pragma)gen_chunk_undefined)
1998 #define pragma_undefined_p(x) ((x)==pragma_undefined)
1999 
2000 extern pragma copy_pragma(pragma);
2001 extern void free_pragma(pragma);
2002 extern pragma check_pragma(pragma);
2003 extern bool pragma_consistent_p(pragma);
2004 extern bool pragma_defined_p(pragma);
2005 #define gen_PRAGMA_cons gen_pragma_cons
2006 extern list gen_pragma_cons(pragma, list);
2007 extern void pragma_assign_contents(pragma, pragma);
2008 extern void pragma_non_recursive_free(pragma);
2009 extern void write_pragma(FILE*, pragma);
2010 extern pragma read_pragma(FILE*);
2014 };
2015 extern string pragma_tag_as_string(enum pragma_utype);
2016 extern pragma make_pragma(enum pragma_utype, void *);
2017 extern pragma make_pragma_string(string);
2019 
2023  union {
2024  string _pragma_string_; /* string:string */
2025  list _pragma_expression_; /* expression:expression* */
2027 };
2028 
2029 #define pragma_domain_number(x) ((x)->_type_)
2030 #define pragma_tag(x) ((x)->_pragma_tag__)
2031 #define pragma_string_p(x) (pragma_tag(x)==is_pragma_string)
2032 #define pragma_string_(x) pragma_string(x) /* old hack compatible */
2033 #define pragma_string(x) ((x)->_pragma_union_._pragma_string_)
2034 #define pragma_expression_p(x) (pragma_tag(x)==is_pragma_expression)
2035 #define pragma_expression_(x) pragma_expression(x) /* old hack compatible */
2036 #define pragma_expression(x) ((x)->_pragma_union_._pragma_expression_)
2037 
2038 /* PREDICATE
2039  */
2040 #define PREDICATE(x) ((predicate)((x).p))
2041 #define predicate_CAST(x) PREDICATE(x)
2042 #define PREDICATE_CAST(x) PREDICATE(x)
2043 #define PREDICATE_(x) ((x).e)
2044 #define PREDICATE_TYPE predicate
2045 #define predicate_TYPE predicate
2046 #define predicate_undefined ((predicate)gen_chunk_undefined)
2047 #define predicate_undefined_p(x) ((x)==predicate_undefined)
2048 
2050 extern void free_predicate(predicate);
2052 extern bool predicate_consistent_p(predicate);
2053 extern bool predicate_defined_p(predicate);
2054 #define gen_PREDICATE_cons gen_predicate_cons
2058 extern void write_predicate(FILE*, predicate);
2059 extern predicate read_predicate(FILE*);
2061 
2064  Psysteme _predicate_system_; /* system:Psysteme */
2065 };
2066 
2067 #define predicate_domain_number(x) ((x)->_type_)
2068 #define predicate_system_(x) predicate_system(x) /* old hack compatible */
2069 #define predicate_system(x) ((x)->_predicate_system_)
2070 
2071 /* PREFERENCE
2072  */
2073 #define PREFERENCE(x) ((preference)((x).p))
2074 #define preference_CAST(x) PREFERENCE(x)
2075 #define PREFERENCE_CAST(x) PREFERENCE(x)
2076 #define PREFERENCE_(x) ((x).e)
2077 #define PREFERENCE_TYPE preference
2078 #define preference_TYPE preference
2079 #define preference_undefined ((preference)gen_chunk_undefined)
2080 #define preference_undefined_p(x) ((x)==preference_undefined)
2081 
2083 extern void free_preference(preference);
2085 extern bool preference_consistent_p(preference);
2086 extern bool preference_defined_p(preference);
2087 #define gen_PREFERENCE_cons gen_preference_cons
2091 extern void write_preference(FILE*, preference);
2092 extern preference read_preference(FILE*);
2094 
2097  reference _preference_reference_; /* reference:reference */
2098 };
2099 
2100 #define preference_domain_number(x) ((x)->_type_)
2101 #define preference_reference_(x) preference_reference(x) /* old hack compatible */
2102 #define preference_reference(x) ((x)->_preference_reference_)
2103 
2104 /* QUALIFIER
2105  */
2106 #define QUALIFIER(x) ((qualifier)((x).p))
2107 #define qualifier_CAST(x) QUALIFIER(x)
2108 #define QUALIFIER_CAST(x) QUALIFIER(x)
2109 #define QUALIFIER_(x) ((x).e)
2110 #define QUALIFIER_TYPE qualifier
2111 #define qualifier_TYPE qualifier
2112 #define qualifier_undefined ((qualifier)gen_chunk_undefined)
2113 #define qualifier_undefined_p(x) ((x)==qualifier_undefined)
2114 
2116 extern void free_qualifier(qualifier);
2118 extern bool qualifier_consistent_p(qualifier);
2119 extern bool qualifier_defined_p(qualifier);
2120 #define gen_QUALIFIER_cons gen_qualifier_cons
2124 extern void write_qualifier(FILE*, qualifier);
2125 extern qualifier read_qualifier(FILE*);
2139 };
2140 extern string qualifier_tag_as_string(enum qualifier_utype);
2141 extern qualifier make_qualifier(enum qualifier_utype, void *);
2142 extern qualifier make_qualifier_const(void);
2143 extern qualifier make_qualifier_restrict(void);
2144 extern qualifier make_qualifier_volatile(void);
2145 extern qualifier make_qualifier_register(void);
2146 extern qualifier make_qualifier_auto(void);
2147 extern qualifier make_qualifier_thread(void);
2148 extern qualifier make_qualifier_asm(string);
2150 extern qualifier make_qualifier_local(void);
2151 extern qualifier make_qualifier_global(void);
2152 extern qualifier make_qualifier_constant(void);
2153 extern qualifier make_qualifier_private(void);
2154 
2158  union {
2159  gen_chunk _qualifier_const_; /* const:unit */
2160  gen_chunk _qualifier_restrict_; /* restrict:unit */
2161  gen_chunk _qualifier_volatile_; /* volatile:unit */
2162  gen_chunk _qualifier_register_; /* register:unit */
2163  gen_chunk _qualifier_auto_; /* auto:unit */
2164  gen_chunk _qualifier_thread_; /* thread:unit */
2165  string _qualifier_asm_; /* asm:string */
2166  gen_chunk _qualifier_static_dimension_; /* static_dimension:unit */
2167  gen_chunk _qualifier_local_; /* local:unit */
2168  gen_chunk _qualifier_global_; /* global:unit */
2169  gen_chunk _qualifier_constant_; /* constant:unit */
2170  gen_chunk _qualifier_private_; /* private:unit */
2172 };
2173 
2174 #define qualifier_domain_number(x) ((x)->_type_)
2175 #define qualifier_tag(x) ((x)->_qualifier_tag__)
2176 #define qualifier_const_p(x) (qualifier_tag(x)==is_qualifier_const)
2177 #define qualifier_const_(x) qualifier_const(x) /* old hack compatible */
2178 #define qualifier_const(x) ((x)->_qualifier_union_._qualifier_const_.u)
2179 #define qualifier_restrict_p(x) (qualifier_tag(x)==is_qualifier_restrict)
2180 #define qualifier_restrict_(x) qualifier_restrict(x) /* old hack compatible */
2181 #define qualifier_restrict(x) ((x)->_qualifier_union_._qualifier_restrict_.u)
2182 #define qualifier_volatile_p(x) (qualifier_tag(x)==is_qualifier_volatile)
2183 #define qualifier_volatile_(x) qualifier_volatile(x) /* old hack compatible */
2184 #define qualifier_volatile(x) ((x)->_qualifier_union_._qualifier_volatile_.u)
2185 #define qualifier_register_p(x) (qualifier_tag(x)==is_qualifier_register)
2186 #define qualifier_register_(x) qualifier_register(x) /* old hack compatible */
2187 #define qualifier_register(x) ((x)->_qualifier_union_._qualifier_register_.u)
2188 #define qualifier_auto_p(x) (qualifier_tag(x)==is_qualifier_auto)
2189 #define qualifier_auto_(x) qualifier_auto(x) /* old hack compatible */
2190 #define qualifier_auto(x) ((x)->_qualifier_union_._qualifier_auto_.u)
2191 #define qualifier_thread_p(x) (qualifier_tag(x)==is_qualifier_thread)
2192 #define qualifier_thread_(x) qualifier_thread(x) /* old hack compatible */
2193 #define qualifier_thread(x) ((x)->_qualifier_union_._qualifier_thread_.u)
2194 #define qualifier_asm_p(x) (qualifier_tag(x)==is_qualifier_asm)
2195 #define qualifier_asm_(x) qualifier_asm(x) /* old hack compatible */
2196 #define qualifier_asm(x) ((x)->_qualifier_union_._qualifier_asm_)
2197 #define qualifier_static_dimension_p(x) (qualifier_tag(x)==is_qualifier_static_dimension)
2198 #define qualifier_static_dimension_(x) qualifier_static_dimension(x) /* old hack compatible */
2199 #define qualifier_static_dimension(x) ((x)->_qualifier_union_._qualifier_static_dimension_.u)
2200 #define qualifier_local_p(x) (qualifier_tag(x)==is_qualifier_local)
2201 #define qualifier_local_(x) qualifier_local(x) /* old hack compatible */
2202 #define qualifier_local(x) ((x)->_qualifier_union_._qualifier_local_.u)
2203 #define qualifier_global_p(x) (qualifier_tag(x)==is_qualifier_global)
2204 #define qualifier_global_(x) qualifier_global(x) /* old hack compatible */
2205 #define qualifier_global(x) ((x)->_qualifier_union_._qualifier_global_.u)
2206 #define qualifier_constant_p(x) (qualifier_tag(x)==is_qualifier_constant)
2207 #define qualifier_constant_(x) qualifier_constant(x) /* old hack compatible */
2208 #define qualifier_constant(x) ((x)->_qualifier_union_._qualifier_constant_.u)
2209 #define qualifier_private_p(x) (qualifier_tag(x)==is_qualifier_private)
2210 #define qualifier_private_(x) qualifier_private(x) /* old hack compatible */
2211 #define qualifier_private(x) ((x)->_qualifier_union_._qualifier_private_.u)
2212 
2213 /* RAM
2214  */
2215 #define RAM(x) ((ram)((x).p))
2216 #define ram_CAST(x) RAM(x)
2217 #define RAM_CAST(x) RAM(x)
2218 #define RAM_(x) ((x).e)
2219 #define RAM_TYPE ram
2220 #define ram_TYPE ram
2221 #define ram_undefined ((ram)gen_chunk_undefined)
2222 #define ram_undefined_p(x) ((x)==ram_undefined)
2223 
2224 extern ram copy_ram(ram);
2225 extern void free_ram(ram);
2226 extern ram check_ram(ram);
2227 extern bool ram_consistent_p(ram);
2228 extern bool ram_defined_p(ram);
2229 #define gen_RAM_cons gen_ram_cons
2230 extern list gen_ram_cons(ram, list);
2231 extern void ram_assign_contents(ram, ram);
2232 extern void ram_non_recursive_free(ram);
2233 extern void write_ram(FILE*, ram);
2234 extern ram read_ram(FILE*);
2235 extern ram make_ram(entity, entity, intptr_t, list);
2236 
2239  entity _ram_function_; /* function:entity */
2240  entity _ram_section_; /* section:entity */
2241  intptr_t _ram_offset_; /* offset:int */
2242  list _ram_shared_; /* shared:entity* */
2243 };
2244 
2245 #define ram_domain_number(x) ((x)->_type_)
2246 #define ram_function_(x) ram_function(x) /* old hack compatible */
2247 #define ram_function(x) ((x)->_ram_function_)
2248 #define ram_section_(x) ram_section(x) /* old hack compatible */
2249 #define ram_section(x) ((x)->_ram_section_)
2250 #define ram_offset_(x) ram_offset(x) /* old hack compatible */
2251 #define ram_offset(x) ((x)->_ram_offset_)
2252 #define ram_shared_(x) ram_shared(x) /* old hack compatible */
2253 #define ram_shared(x) ((x)->_ram_shared_)
2254 
2255 /* RANGE
2256  */
2257 #define RANGE(x) ((range)((x).p))
2258 #define range_CAST(x) RANGE(x)
2259 #define RANGE_CAST(x) RANGE(x)
2260 #define RANGE_(x) ((x).e)
2261 #define RANGE_TYPE range
2262 #define range_TYPE range
2263 #define range_undefined ((range)gen_chunk_undefined)
2264 #define range_undefined_p(x) ((x)==range_undefined)
2265 
2266 extern range copy_range(range);
2267 extern void free_range(range);
2268 extern range check_range(range);
2269 extern bool range_consistent_p(range);
2270 extern bool range_defined_p(range);
2271 #define gen_RANGE_cons gen_range_cons
2272 extern list gen_range_cons(range, list);
2273 extern void range_assign_contents(range, range);
2274 extern void range_non_recursive_free(range);
2275 extern void write_range(FILE*, range);
2276 extern range read_range(FILE*);
2278 
2281  expression _range_lower_; /* lower:expression */
2282  expression _range_upper_; /* upper:expression */
2283  expression _range_increment_; /* increment:expression */
2284 };
2285 
2286 #define range_domain_number(x) ((x)->_type_)
2287 #define range_lower_(x) range_lower(x) /* old hack compatible */
2288 #define range_lower(x) ((x)->_range_lower_)
2289 #define range_upper_(x) range_upper(x) /* old hack compatible */
2290 #define range_upper(x) ((x)->_range_upper_)
2291 #define range_increment_(x) range_increment(x) /* old hack compatible */
2292 #define range_increment(x) ((x)->_range_increment_)
2293 
2294 /* REFERENCE
2295  */
2296 #define REFERENCE(x) ((reference)((x).p))
2297 #define reference_CAST(x) REFERENCE(x)
2298 #define REFERENCE_CAST(x) REFERENCE(x)
2299 #define REFERENCE_(x) ((x).e)
2300 #define REFERENCE_TYPE reference
2301 #define reference_TYPE reference
2302 #define reference_undefined ((reference)gen_chunk_undefined)
2303 #define reference_undefined_p(x) ((x)==reference_undefined)
2304 
2306 extern void free_reference(reference);
2308 extern bool reference_consistent_p(reference);
2309 extern bool reference_defined_p(reference);
2310 #define gen_REFERENCE_cons gen_reference_cons
2314 extern void write_reference(FILE*, reference);
2315 extern reference read_reference(FILE*);
2317 
2320  entity _reference_variable_; /* variable:entity */
2321  list _reference_indices_; /* indices:expression* */
2322 };
2323 
2324 #define reference_domain_number(x) ((x)->_type_)
2325 #define reference_variable_(x) reference_variable(x) /* old hack compatible */
2326 #define reference_variable(x) ((x)->_reference_variable_)
2327 #define reference_indices_(x) reference_indices(x) /* old hack compatible */
2328 #define reference_indices(x) ((x)->_reference_indices_)
2329 
2330 /* SEQUENCE
2331  */
2332 #define SEQUENCE(x) ((sequence)((x).p))
2333 #define sequence_CAST(x) SEQUENCE(x)
2334 #define SEQUENCE_CAST(x) SEQUENCE(x)
2335 #define SEQUENCE_(x) ((x).e)
2336 #define SEQUENCE_TYPE sequence
2337 #define sequence_TYPE sequence
2338 #define sequence_undefined ((sequence)gen_chunk_undefined)
2339 #define sequence_undefined_p(x) ((x)==sequence_undefined)
2340 
2342 extern void free_sequence(sequence);
2344 extern bool sequence_consistent_p(sequence);
2345 extern bool sequence_defined_p(sequence);
2346 #define gen_SEQUENCE_cons gen_sequence_cons
2350 extern void write_sequence(FILE*, sequence);
2351 extern sequence read_sequence(FILE*);
2352 extern sequence make_sequence(list);
2353 
2357 };
2358 
2359 #define sequence_domain_number(x) ((x)->_type_)
2360 #define sequence_statements(x) ((x)->_sequence_holder_)
2361 
2362 /* SIZEOFEXPRESSION
2363  */
2364 #define SIZEOFEXPRESSION(x) ((sizeofexpression)((x).p))
2365 #define sizeofexpression_CAST(x) SIZEOFEXPRESSION(x)
2366 #define SIZEOFEXPRESSION_CAST(x) SIZEOFEXPRESSION(x)
2367 #define SIZEOFEXPRESSION_(x) ((x).e)
2368 #define SIZEOFEXPRESSION_TYPE sizeofexpression
2369 #define sizeofexpression_TYPE sizeofexpression
2370 #define sizeofexpression_undefined ((sizeofexpression)gen_chunk_undefined)
2371 #define sizeofexpression_undefined_p(x) ((x)==sizeofexpression_undefined)
2372 
2378 #define gen_SIZEOFEXPRESSION_cons gen_sizeofexpression_cons
2382 extern void write_sizeofexpression(FILE*, sizeofexpression);
2387 };
2392 
2396  union {
2398  expression _sizeofexpression_expression_; /* expression:expression */
2400 };
2401 
2402 #define sizeofexpression_domain_number(x) ((x)->_type_)
2403 #define sizeofexpression_tag(x) ((x)->_sizeofexpression_tag__)
2404 #define sizeofexpression_type_p(x) (sizeofexpression_tag(x)==is_sizeofexpression_type)
2405 #define sizeofexpression_type_(x) sizeofexpression_type(x) /* old hack compatible */
2406 #define sizeofexpression_type(x) ((x)->_sizeofexpression_union_._sizeofexpression_type_)
2407 #define sizeofexpression_expression_p(x) (sizeofexpression_tag(x)==is_sizeofexpression_expression)
2408 #define sizeofexpression_expression_(x) sizeofexpression_expression(x) /* old hack compatible */
2409 #define sizeofexpression_expression(x) ((x)->_sizeofexpression_union_._sizeofexpression_expression_)
2410 
2411 /* STATEMENT
2412  */
2413 #define STATEMENT(x) ((statement)((x).p))
2414 #define statement_CAST(x) STATEMENT(x)
2415 #define STATEMENT_CAST(x) STATEMENT(x)
2416 #define STATEMENT_(x) ((x).e)
2417 #define STATEMENT_TYPE statement
2418 #define statement_TYPE statement
2419 #define statement_undefined ((statement)gen_chunk_undefined)
2420 #define statement_undefined_p(x) ((x)==statement_undefined)
2421 
2423 extern void free_statement(statement);
2425 extern bool statement_consistent_p(statement);
2426 extern bool statement_defined_p(statement);
2427 #define gen_STATEMENT_cons gen_statement_cons
2431 extern void write_statement(FILE*, statement);
2432 extern statement read_statement(FILE*);
2434 
2437  entity _statement_label_; /* label:entity */
2438  intptr_t _statement_number_; /* number:int */
2439  intptr_t _statement_ordering_; /* ordering:int */
2440  string _statement_comments_; /* comments:string */
2441  instruction _statement_instruction_; /* instruction:instruction */
2442  list _statement_declarations_; /* declarations:entity* */
2443  string _statement_decls_text_; /* decls_text:string */
2444  extensions _statement_extensions_; /* extensions:extensions */
2445  synchronization _statement_synchronization_; /* synchronization:synchronization */
2446 };
2447 
2448 #define statement_domain_number(x) ((x)->_type_)
2449 #define statement_label_(x) statement_label(x) /* old hack compatible */
2450 #define statement_label(x) ((x)->_statement_label_)
2451 #define statement_number_(x) statement_number(x) /* old hack compatible */
2452 #define statement_number(x) ((x)->_statement_number_)
2453 #define statement_ordering_(x) statement_ordering(x) /* old hack compatible */
2454 #define statement_ordering(x) ((x)->_statement_ordering_)
2455 #define statement_comments_(x) statement_comments(x) /* old hack compatible */
2456 #define statement_comments(x) ((x)->_statement_comments_)
2457 #define statement_instruction_(x) statement_instruction(x) /* old hack compatible */
2458 #define statement_instruction(x) ((x)->_statement_instruction_)
2459 #define statement_declarations_(x) statement_declarations(x) /* old hack compatible */
2460 #define statement_declarations(x) ((x)->_statement_declarations_)
2461 #define statement_decls_text_(x) statement_decls_text(x) /* old hack compatible */
2462 #define statement_decls_text(x) ((x)->_statement_decls_text_)
2463 #define statement_extensions_(x) statement_extensions(x) /* old hack compatible */
2464 #define statement_extensions(x) ((x)->_statement_extensions_)
2465 #define statement_synchronization_(x) statement_synchronization(x) /* old hack compatible */
2466 #define statement_synchronization(x) ((x)->_statement_synchronization_)
2467 
2468 /* STORAGE
2469  */
2470 #define STORAGE(x) ((storage)((x).p))
2471 #define storage_CAST(x) STORAGE(x)
2472 #define STORAGE_CAST(x) STORAGE(x)
2473 #define STORAGE_(x) ((x).e)
2474 #define STORAGE_TYPE storage
2475 #define storage_TYPE storage
2476 #define storage_undefined ((storage)gen_chunk_undefined)
2477 #define storage_undefined_p(x) ((x)==storage_undefined)
2478 
2479 extern storage copy_storage(storage);
2480 extern void free_storage(storage);
2481 extern storage check_storage(storage);
2482 extern bool storage_consistent_p(storage);
2483 extern bool storage_defined_p(storage);
2484 #define gen_STORAGE_cons gen_storage_cons
2487 extern void storage_non_recursive_free(storage);
2488 extern void write_storage(FILE*, storage);
2489 extern storage read_storage(FILE*);
2495 };
2496 extern string storage_tag_as_string(enum storage_utype);
2497 extern storage make_storage(enum storage_utype, void *);
2499 extern storage make_storage_ram(ram);
2501 extern storage make_storage_rom(void);
2502 
2506  union {
2507  entity _storage_return_; /* return:entity */
2508  ram _storage_ram_; /* ram:ram */
2509  formal _storage_formal_; /* formal:formal */
2510  gen_chunk _storage_rom_; /* rom:unit */
2512 };
2513 
2514 #define storage_domain_number(x) ((x)->_type_)
2515 #define storage_tag(x) ((x)->_storage_tag__)
2516 #define storage_return_p(x) (storage_tag(x)==is_storage_return)
2517 #define storage_return_(x) storage_return(x) /* old hack compatible */
2518 #define storage_return(x) ((x)->_storage_union_._storage_return_)
2519 #define storage_ram_p(x) (storage_tag(x)==is_storage_ram)
2520 #define storage_ram_(x) storage_ram(x) /* old hack compatible */
2521 #define storage_ram(x) ((x)->_storage_union_._storage_ram_)
2522 #define storage_formal_p(x) (storage_tag(x)==is_storage_formal)
2523 #define storage_formal_(x) storage_formal(x) /* old hack compatible */
2524 #define storage_formal(x) ((x)->_storage_union_._storage_formal_)
2525 #define storage_rom_p(x) (storage_tag(x)==is_storage_rom)
2526 #define storage_rom_(x) storage_rom(x) /* old hack compatible */
2527 #define storage_rom(x) ((x)->_storage_union_._storage_rom_.u)
2528 
2529 /* SUBSCRIPT
2530  */
2531 #define SUBSCRIPT(x) ((subscript)((x).p))
2532 #define subscript_CAST(x) SUBSCRIPT(x)
2533 #define SUBSCRIPT_CAST(x) SUBSCRIPT(x)
2534 #define SUBSCRIPT_(x) ((x).e)
2535 #define SUBSCRIPT_TYPE subscript
2536 #define subscript_TYPE subscript
2537 #define subscript_undefined ((subscript)gen_chunk_undefined)
2538 #define subscript_undefined_p(x) ((x)==subscript_undefined)
2539 
2541 extern void free_subscript(subscript);
2543 extern bool subscript_consistent_p(subscript);
2544 extern bool subscript_defined_p(subscript);
2545 #define gen_SUBSCRIPT_cons gen_subscript_cons
2549 extern void write_subscript(FILE*, subscript);
2550 extern subscript read_subscript(FILE*);
2552 
2555  expression _subscript_array_; /* array:expression */
2556  list _subscript_indices_; /* indices:expression* */
2557 };
2558 
2559 #define subscript_domain_number(x) ((x)->_type_)
2560 #define subscript_array_(x) subscript_array(x) /* old hack compatible */
2561 #define subscript_array(x) ((x)->_subscript_array_)
2562 #define subscript_indices_(x) subscript_indices(x) /* old hack compatible */
2563 #define subscript_indices(x) ((x)->_subscript_indices_)
2564 
2565 /* SYMBOLIC
2566  */
2567 #define SYMBOLIC(x) ((symbolic)((x).p))
2568 #define symbolic_CAST(x) SYMBOLIC(x)
2569 #define SYMBOLIC_CAST(x) SYMBOLIC(x)
2570 #define SYMBOLIC_(x) ((x).e)
2571 #define SYMBOLIC_TYPE symbolic
2572 #define symbolic_TYPE symbolic
2573 #define symbolic_undefined ((symbolic)gen_chunk_undefined)
2574 #define symbolic_undefined_p(x) ((x)==symbolic_undefined)
2575 
2577 extern void free_symbolic(symbolic);
2579 extern bool symbolic_consistent_p(symbolic);
2580 extern bool symbolic_defined_p(symbolic);
2581 #define gen_SYMBOLIC_cons gen_symbolic_cons
2585 extern void write_symbolic(FILE*, symbolic);
2586 extern symbolic read_symbolic(FILE*);
2588 
2591  expression _symbolic_expression_; /* expression:expression */
2592  constant _symbolic_constant_; /* constant:constant */
2593 };
2594 
2595 #define symbolic_domain_number(x) ((x)->_type_)
2596 #define symbolic_expression_(x) symbolic_expression(x) /* old hack compatible */
2597 #define symbolic_expression(x) ((x)->_symbolic_expression_)
2598 #define symbolic_constant_(x) symbolic_constant(x) /* old hack compatible */
2599 #define symbolic_constant(x) ((x)->_symbolic_constant_)
2600 
2601 /* SYNCHRONIZATION
2602  */
2603 #define SYNCHRONIZATION(x) ((synchronization)((x).p))
2604 #define synchronization_CAST(x) SYNCHRONIZATION(x)
2605 #define SYNCHRONIZATION_CAST(x) SYNCHRONIZATION(x)
2606 #define SYNCHRONIZATION_(x) ((x).e)
2607 #define SYNCHRONIZATION_TYPE synchronization
2608 #define synchronization_TYPE synchronization
2609 #define synchronization_undefined ((synchronization)gen_chunk_undefined)
2610 #define synchronization_undefined_p(x) ((x)==synchronization_undefined)
2611 
2617 #define gen_SYNCHRONIZATION_cons gen_synchronization_cons
2621 extern void write_synchronization(FILE*, synchronization);
2629 };
2637 
2641  union {
2643  entity _synchronization_spawn_; /* spawn:entity */
2646  reference _synchronization_critical_; /* critical:reference */
2648 };
2649 
2650 #define synchronization_domain_number(x) ((x)->_type_)
2651 #define synchronization_tag(x) ((x)->_synchronization_tag__)
2652 #define synchronization_none_p(x) (synchronization_tag(x)==is_synchronization_none)
2653 #define synchronization_none_(x) synchronization_none(x) /* old hack compatible */
2654 #define synchronization_none(x) ((x)->_synchronization_union_._synchronization_none_.u)
2655 #define synchronization_spawn_p(x) (synchronization_tag(x)==is_synchronization_spawn)
2656 #define synchronization_spawn_(x) synchronization_spawn(x) /* old hack compatible */
2657 #define synchronization_spawn(x) ((x)->_synchronization_union_._synchronization_spawn_)
2658 #define synchronization_barrier_p(x) (synchronization_tag(x)==is_synchronization_barrier)
2659 #define synchronization_barrier_(x) synchronization_barrier(x) /* old hack compatible */
2660 #define synchronization_barrier(x) ((x)->_synchronization_union_._synchronization_barrier_.u)
2661 #define synchronization_single_p(x) (synchronization_tag(x)==is_synchronization_single)
2662 #define synchronization_single_(x) synchronization_single(x) /* old hack compatible */
2663 #define synchronization_single(x) ((x)->_synchronization_union_._synchronization_single_.b)
2664 #define synchronization_critical_p(x) (synchronization_tag(x)==is_synchronization_critical)
2665 #define synchronization_critical_(x) synchronization_critical(x) /* old hack compatible */
2666 #define synchronization_critical(x) ((x)->_synchronization_union_._synchronization_critical_)
2667 
2668 /* SYNTAX
2669  */
2670 #define SYNTAX(x) ((syntax)((x).p))
2671 #define syntax_CAST(x) SYNTAX(x)
2672 #define SYNTAX_CAST(x) SYNTAX(x)
2673 #define SYNTAX_(x) ((x).e)
2674 #define SYNTAX_TYPE syntax
2675 #define syntax_TYPE syntax
2676 #define syntax_undefined ((syntax)gen_chunk_undefined)
2677 #define syntax_undefined_p(x) ((x)==syntax_undefined)
2678 
2679 extern syntax copy_syntax(syntax);
2680 extern void free_syntax(syntax);
2681 extern syntax check_syntax(syntax);
2682 extern bool syntax_consistent_p(syntax);
2683 extern bool syntax_defined_p(syntax);
2684 #define gen_SYNTAX_cons gen_syntax_cons
2685 extern list gen_syntax_cons(syntax, list);
2686 extern void syntax_assign_contents(syntax, syntax);
2687 extern void syntax_non_recursive_free(syntax);
2688 extern void write_syntax(FILE*, syntax);
2689 extern syntax read_syntax(FILE*);
2699 };
2700 extern string syntax_tag_as_string(enum syntax_utype);
2701 extern syntax make_syntax(enum syntax_utype, void *);
2704 extern syntax make_syntax_call(call);
2705 extern syntax make_syntax_cast(cast);
2710 
2714  union {
2715  reference _syntax_reference_; /* reference:reference */
2716  range _syntax_range_; /* range:range */
2717  call _syntax_call_; /* call:call */
2718  cast _syntax_cast_; /* cast:cast */
2719  sizeofexpression _syntax_sizeofexpression_; /* sizeofexpression:sizeofexpression */
2720  subscript _syntax_subscript_; /* subscript:subscript */
2721  application _syntax_application_; /* application:application */
2722  list _syntax_va_arg_; /* va_arg:sizeofexpression* */
2724 };
2725 
2726 #define syntax_domain_number(x) ((x)->_type_)
2727 #define syntax_tag(x) ((x)->_syntax_tag__)
2728 #define syntax_reference_p(x) (syntax_tag(x)==is_syntax_reference)
2729 #define syntax_reference_(x) syntax_reference(x) /* old hack compatible */
2730 #define syntax_reference(x) ((x)->_syntax_union_._syntax_reference_)
2731 #define syntax_range_p(x) (syntax_tag(x)==is_syntax_range)
2732 #define syntax_range_(x) syntax_range(x) /* old hack compatible */
2733 #define syntax_range(x) ((x)->_syntax_union_._syntax_range_)
2734 #define syntax_call_p(x) (syntax_tag(x)==is_syntax_call)
2735 #define syntax_call_(x) syntax_call(x) /* old hack compatible */
2736 #define syntax_call(x) ((x)->_syntax_union_._syntax_call_)
2737 #define syntax_cast_p(x) (syntax_tag(x)==is_syntax_cast)
2738 #define syntax_cast_(x) syntax_cast(x) /* old hack compatible */
2739 #define syntax_cast(x) ((x)->_syntax_union_._syntax_cast_)
2740 #define syntax_sizeofexpression_p(x) (syntax_tag(x)==is_syntax_sizeofexpression)
2741 #define syntax_sizeofexpression_(x) syntax_sizeofexpression(x) /* old hack compatible */
2742 #define syntax_sizeofexpression(x) ((x)->_syntax_union_._syntax_sizeofexpression_)
2743 #define syntax_subscript_p(x) (syntax_tag(x)==is_syntax_subscript)
2744 #define syntax_subscript_(x) syntax_subscript(x) /* old hack compatible */
2745 #define syntax_subscript(x) ((x)->_syntax_union_._syntax_subscript_)
2746 #define syntax_application_p(x) (syntax_tag(x)==is_syntax_application)
2747 #define syntax_application_(x) syntax_application(x) /* old hack compatible */
2748 #define syntax_application(x) ((x)->_syntax_union_._syntax_application_)
2749 #define syntax_va_arg_p(x) (syntax_tag(x)==is_syntax_va_arg)
2750 #define syntax_va_arg_(x) syntax_va_arg(x) /* old hack compatible */
2751 #define syntax_va_arg(x) ((x)->_syntax_union_._syntax_va_arg_)
2752 
2753 /* ENTITY
2754  */
2755 #define ENTITY(x) ((entity)((x).p))
2756 #define entity_CAST(x) ENTITY(x)
2757 #define ENTITY_CAST(x) ENTITY(x)
2758 #define ENTITY_(x) ((x).e)
2759 #define ENTITY_TYPE entity
2760 #define entity_TYPE entity
2761 #define entity_undefined ((entity)gen_chunk_undefined)
2762 #define entity_undefined_p(x) ((x)==entity_undefined)
2763 
2764 extern entity copy_entity(entity);
2765 extern void free_entity(entity);
2766 extern entity check_entity(entity);
2767 extern bool entity_consistent_p(entity);
2768 extern bool entity_defined_p(entity);
2769 #define gen_ENTITY_cons gen_entity_cons
2770 extern list gen_entity_cons(entity, list);
2771 extern void entity_assign_contents(entity, entity);
2772 extern void entity_non_recursive_free(entity);
2773 extern entity gen_find_entity(char *);
2774 extern void write_tabulated_entity(FILE *);
2775 extern void read_tabulated_entity(FILE *);
2776 extern entity make_entity(string, type, storage, value, intptr_t);
2777 
2781  string _entity_name_; /* name:string */
2782  type _entity_type_; /* type:type */
2783  storage _entity_storage_; /* storage:storage */
2784  value _entity_initial_; /* initial:value */
2785  intptr_t _entity_kind_; /* kind:int */
2786 };
2787 
2788 #define entity_domain_number(x) ((x)->_type_)
2789 #define entity_name_(x) entity_name(x) /* old hack compatible */
2790 #define entity_name(x) ((x)->_entity_name_)
2791 #define entity_type_(x) entity_type(x) /* old hack compatible */
2792 #define entity_type(x) ((x)->_entity_type_)
2793 #define entity_storage_(x) entity_storage(x) /* old hack compatible */
2794 #define entity_storage(x) ((x)->_entity_storage_)
2795 #define entity_initial_(x) entity_initial(x) /* old hack compatible */
2796 #define entity_initial(x) ((x)->_entity_initial_)
2797 #define entity_kind_(x) entity_kind(x) /* old hack compatible */
2798 #define entity_kind(x) ((x)->_entity_kind_)
2799 
2800 /* TEST
2801  */
2802 #define TEST(x) ((test)((x).p))
2803 #define test_CAST(x) TEST(x)
2804 #define TEST_CAST(x) TEST(x)
2805 #define TEST_(x) ((x).e)
2806 #define TEST_TYPE test
2807 #define test_TYPE test
2808 #define test_undefined ((test)gen_chunk_undefined)
2809 #define test_undefined_p(x) ((x)==test_undefined)
2810 
2811 extern test copy_test(test);
2812 extern void free_test(test);
2813 extern test check_test(test);
2814 extern bool test_consistent_p(test);
2815 extern bool test_defined_p(test);
2816 #define gen_TEST_cons gen_test_cons
2817 extern list gen_test_cons(test, list);
2818 extern void test_assign_contents(test, test);
2819 extern void test_non_recursive_free(test);
2820 extern void write_test(FILE*, test);
2821 extern test read_test(FILE*);
2823 
2826  expression _test_condition_; /* condition:expression */
2827  statement _test_true_; /* true:statement */
2828  statement _test_false_; /* false:statement */
2829 };
2830 
2831 #define test_domain_number(x) ((x)->_type_)
2832 #define test_condition_(x) test_condition(x) /* old hack compatible */
2833 #define test_condition(x) ((x)->_test_condition_)
2834 #define test_true_(x) test_true(x) /* old hack compatible */
2835 #define test_true(x) ((x)->_test_true_)
2836 #define test_false_(x) test_false(x) /* old hack compatible */
2837 #define test_false(x) ((x)->_test_false_)
2838 
2839 /* TRANSFORMER
2840  */
2841 #define TRANSFORMER(x) ((transformer)((x).p))
2842 #define transformer_CAST(x) TRANSFORMER(x)
2843 #define TRANSFORMER_CAST(x) TRANSFORMER(x)
2844 #define TRANSFORMER_(x) ((x).e)
2845 #define TRANSFORMER_TYPE transformer
2846 #define transformer_TYPE transformer
2847 #define transformer_undefined ((transformer)gen_chunk_undefined)
2848 #define transformer_undefined_p(x) ((x)==transformer_undefined)
2849 
2851 extern void free_transformer(transformer);
2854 extern bool transformer_defined_p(transformer);
2855 #define gen_TRANSFORMER_cons gen_transformer_cons
2859 extern void write_transformer(FILE*, transformer);
2860 extern transformer read_transformer(FILE*);
2862 
2865  list _transformer_arguments_; /* arguments:entity* */
2866  predicate _transformer_relation_; /* relation:predicate */
2867 };
2868 
2869 #define transformer_domain_number(x) ((x)->_type_)
2870 #define transformer_arguments_(x) transformer_arguments(x) /* old hack compatible */
2871 #define transformer_arguments(x) ((x)->_transformer_arguments_)
2872 #define transformer_relation_(x) transformer_relation(x) /* old hack compatible */
2873 #define transformer_relation(x) ((x)->_transformer_relation_)
2874 
2875 /* TYPE
2876  */
2877 #define TYPE(x) ((type)((x).p))
2878 #define type_CAST(x) TYPE(x)
2879 #define TYPE_CAST(x) TYPE(x)
2880 #define TYPE_(x) ((x).e)
2881 #define TYPE_TYPE type
2882 #define type_TYPE type
2883 #define type_undefined ((type)gen_chunk_undefined)
2884 #define type_undefined_p(x) ((x)==type_undefined)
2885 
2886 extern type copy_type(type);
2887 extern void free_type(type);
2888 extern type check_type(type);
2889 extern bool type_consistent_p(type);
2890 extern bool type_defined_p(type);
2891 #define gen_TYPE_cons gen_type_cons
2892 extern list gen_type_cons(type, list);
2893 extern void type_assign_contents(type, type);
2894 extern void type_non_recursive_free(type);
2895 extern void write_type(FILE*, type);
2896 extern type read_type(FILE*);
2907  is_type_enum
2908 };
2909 extern string type_tag_as_string(enum type_utype);
2910 extern type make_type(enum type_utype, void *);
2911 extern type make_type_statement(void);
2912 extern type make_type_area(area);
2915 extern type make_type_varargs(type);
2916 extern type make_type_unknown(void);
2917 extern type make_type_void(list);
2918 extern type make_type_struct(list);
2919 extern type make_type_union(list);
2920 extern type make_type_enum(list);
2921 
2924  enum type_utype _type_tag__;
2925  union {
2926  gen_chunk _type_statement_; /* statement:unit */
2927  area _type_area_; /* area:area */
2928  variable _type_variable_; /* variable:variable */
2929  functional _type_functional_; /* functional:functional */
2930  type _type_varargs_; /* varargs:type */
2931  gen_chunk _type_unknown_; /* unknown:unit */
2932  list _type_void_; /* void:qualifier* */
2933  list _type_struct_; /* struct:entity* */
2934  list _type_union_; /* union:entity* */
2935  list _type_enum_; /* enum:entity* */
2937 };
2938 
2939 #define type_domain_number(x) ((x)->_type_)
2940 #define type_tag(x) ((x)->_type_tag__)
2941 #define type_statement_p(x) (type_tag(x)==is_type_statement)
2942 #define type_statement_(x) type_statement(x) /* old hack compatible */
2943 #define type_statement(x) ((x)->_type_union_._type_statement_.u)
2944 #define type_area_p(x) (type_tag(x)==is_type_area)
2945 #define type_area_(x) type_area(x) /* old hack compatible */
2946 #define type_area(x) ((x)->_type_union_._type_area_)
2947 #define type_variable_p(x) (type_tag(x)==is_type_variable)
2948 #define type_variable_(x) type_variable(x) /* old hack compatible */
2949 #define type_variable(x) ((x)->_type_union_._type_variable_)
2950 #define type_functional_p(x) (type_tag(x)==is_type_functional)
2951 #define type_functional_(x) type_functional(x) /* old hack compatible */
2952 #define type_functional(x) ((x)->_type_union_._type_functional_)
2953 #define type_varargs_p(x) (type_tag(x)==is_type_varargs)
2954 #define type_varargs_(x) type_varargs(x) /* old hack compatible */
2955 #define type_varargs(x) ((x)->_type_union_._type_varargs_)
2956 #define type_unknown_p(x) (type_tag(x)==is_type_unknown)
2957 #define type_unknown_(x) type_unknown(x) /* old hack compatible */
2958 #define type_unknown(x) ((x)->_type_union_._type_unknown_.u)
2959 #define type_void_p(x) (type_tag(x)==is_type_void)
2960 #define type_void_(x) type_void(x) /* old hack compatible */
2961 #define type_void(x) ((x)->_type_union_._type_void_)
2962 #define type_struct_p(x) (type_tag(x)==is_type_struct)
2963 #define type_struct_(x) type_struct(x) /* old hack compatible */
2964 #define type_struct(x) ((x)->_type_union_._type_struct_)
2965 #define type_union_p(x) (type_tag(x)==is_type_union)
2966 #define type_union_(x) type_union(x) /* old hack compatible */
2967 #define type_union(x) ((x)->_type_union_._type_union_)
2968 #define type_enum_p(x) (type_tag(x)==is_type_enum)
2969 #define type_enum_(x) type_enum(x) /* old hack compatible */
2970 #define type_enum(x) ((x)->_type_union_._type_enum_)
2971 
2972 /* UNSTRUCTURED
2973  */
2974 #define UNSTRUCTURED(x) ((unstructured)((x).p))
2975 #define unstructured_CAST(x) UNSTRUCTURED(x)
2976 #define UNSTRUCTURED_CAST(x) UNSTRUCTURED(x)
2977 #define UNSTRUCTURED_(x) ((x).e)
2978 #define UNSTRUCTURED_TYPE unstructured
2979 #define unstructured_TYPE unstructured
2980 #define unstructured_undefined ((unstructured)gen_chunk_undefined)
2981 #define unstructured_undefined_p(x) ((x)==unstructured_undefined)
2982 
2984 extern void free_unstructured(unstructured);
2988 #define gen_UNSTRUCTURED_cons gen_unstructured_cons
2992 extern void write_unstructured(FILE*, unstructured);
2993 extern unstructured read_unstructured(FILE*);
2995 
2998  control _unstructured_entry_; /* entry:control */
2999  control _unstructured_exit_; /* exit:control */
3000 };
3001 
3002 #define unstructured_domain_number(x) ((x)->_type_)
3003 #define unstructured_entry_(x) unstructured_entry(x) /* old hack compatible */
3004 #define unstructured_entry(x) ((x)->_unstructured_entry_)
3005 #define unstructured_exit_(x) unstructured_exit(x) /* old hack compatible */
3006 #define unstructured_exit(x) ((x)->_unstructured_exit_)
3007 
3008 /* VALUE
3009  */
3010 #define VALUE(x) ((value)((x).p))
3011 #define value_CAST(x) VALUE(x)
3012 #define VALUE_CAST(x) VALUE(x)
3013 #define VALUE_(x) ((x).e)
3014 #define VALUE_TYPE value
3015 #define value_TYPE value
3016 #define value_undefined ((value)gen_chunk_undefined)
3017 #define value_undefined_p(x) ((x)==value_undefined)
3018 
3019 extern value copy_value(value);
3020 extern void free_value(value);
3021 extern value check_value(value);
3022 extern bool value_consistent_p(value);
3023 extern bool value_defined_p(value);
3024 #define gen_VALUE_cons gen_value_cons
3025 extern list gen_value_cons(value, list);
3026 extern void value_assign_contents(value, value);
3027 extern void value_non_recursive_free(value);
3028 extern void write_value(FILE*, value);
3029 extern value read_value(FILE*);
3038 };
3039 extern string value_tag_as_string(enum value_utype);
3040 extern value make_value(enum value_utype, void *);
3041 extern value make_value_code(code);
3044 extern value make_value_intrinsic(void);
3045 extern value make_value_unknown(void);
3048 
3052  union {
3053  code _value_code_; /* code:code */
3054  symbolic _value_symbolic_; /* symbolic:symbolic */
3055  constant _value_constant_; /* constant:constant */
3056  gen_chunk _value_intrinsic_; /* intrinsic:unit */
3057  gen_chunk _value_unknown_; /* unknown:unit */
3058  expression _value_expression_; /* expression:expression */
3059  reference _value_reference_; /* reference:reference */
3061 };
3062 
3063 #define value_domain_number(x) ((x)->_type_)
3064 #define value_tag(x) ((x)->_value_tag__)
3065 #define value_code_p(x) (value_tag(x)==is_value_code)
3066 #define value_code_(x) value_code(x) /* old hack compatible */
3067 #define value_code(x) ((x)->_value_union_._value_code_)
3068 #define value_symbolic_p(x) (value_tag(x)==is_value_symbolic)
3069 #define value_symbolic_(x) value_symbolic(x) /* old hack compatible */
3070 #define value_symbolic(x) ((x)->_value_union_._value_symbolic_)
3071 #define value_constant_p(x) (value_tag(x)==is_value_constant)
3072 #define value_constant_(x) value_constant(x) /* old hack compatible */
3073 #define value_constant(x) ((x)->_value_union_._value_constant_)
3074 #define value_intrinsic_p(x) (value_tag(x)==is_value_intrinsic)
3075 #define value_intrinsic_(x) value_intrinsic(x) /* old hack compatible */
3076 #define value_intrinsic(x) ((x)->_value_union_._value_intrinsic_.u)
3077 #define value_unknown_p(x) (value_tag(x)==is_value_unknown)
3078 #define value_unknown_(x) value_unknown(x) /* old hack compatible */
3079 #define value_unknown(x) ((x)->_value_union_._value_unknown_.u)
3080 #define value_expression_p(x) (value_tag(x)==is_value_expression)
3081 #define value_expression_(x) value_expression(x) /* old hack compatible */
3082 #define value_expression(x) ((x)->_value_union_._value_expression_)
3083 #define value_reference_p(x) (value_tag(x)==is_value_reference)
3084 #define value_reference_(x) value_reference(x) /* old hack compatible */
3085 #define value_reference(x) ((x)->_value_union_._value_reference_)
3086 
3087 /* VARIABLE
3088  */
3089 #define VARIABLE(x) ((variable)((x).p))
3090 #define variable_CAST(x) VARIABLE(x)
3091 #define VARIABLE_CAST(x) VARIABLE(x)
3092 #define VARIABLE_(x) ((x).e)
3093 #define VARIABLE_TYPE variable
3094 #define variable_TYPE variable
3095 #define variable_undefined ((variable)gen_chunk_undefined)
3096 #define variable_undefined_p(x) ((x)==variable_undefined)
3097 
3099 extern void free_variable(variable);
3101 extern bool variable_consistent_p(variable);
3102 extern bool variable_defined_p(variable);
3103 #define gen_VARIABLE_cons gen_variable_cons
3107 extern void write_variable(FILE*, variable);
3108 extern variable read_variable(FILE*);
3110 
3113  basic _variable_basic_; /* basic:basic */
3114  list _variable_dimensions_; /* dimensions:dimension* */
3115  list _variable_qualifiers_; /* qualifiers:qualifier* */
3116 };
3117 
3118 #define variable_domain_number(x) ((x)->_type_)
3119 #define variable_basic_(x) variable_basic(x) /* old hack compatible */
3120 #define variable_basic(x) ((x)->_variable_basic_)
3121 #define variable_dimensions_(x) variable_dimensions(x) /* old hack compatible */
3122 #define variable_dimensions(x) ((x)->_variable_dimensions_)
3123 #define variable_qualifiers_(x) variable_qualifiers(x) /* old hack compatible */
3124 #define variable_qualifiers(x) ((x)->_variable_qualifiers_)
3125 
3126 /* WHILELOOP
3127  */
3128 #define WHILELOOP(x) ((whileloop)((x).p))
3129 #define whileloop_CAST(x) WHILELOOP(x)
3130 #define WHILELOOP_CAST(x) WHILELOOP(x)
3131 #define WHILELOOP_(x) ((x).e)
3132 #define WHILELOOP_TYPE whileloop
3133 #define whileloop_TYPE whileloop
3134 #define whileloop_undefined ((whileloop)gen_chunk_undefined)
3135 #define whileloop_undefined_p(x) ((x)==whileloop_undefined)
3136 
3138 extern void free_whileloop(whileloop);
3140 extern bool whileloop_consistent_p(whileloop);
3141 extern bool whileloop_defined_p(whileloop);
3142 #define gen_WHILELOOP_cons gen_whileloop_cons
3146 extern void write_whileloop(FILE*, whileloop);
3147 extern whileloop read_whileloop(FILE*);
3149 
3152  expression _whileloop_condition_; /* condition:expression */
3153  statement _whileloop_body_; /* body:statement */
3154  entity _whileloop_label_; /* label:entity */
3155  evaluation _whileloop_evaluation_; /* evaluation:evaluation */
3156 };
3157 
3158 #define whileloop_domain_number(x) ((x)->_type_)
3159 #define whileloop_condition_(x) whileloop_condition(x) /* old hack compatible */
3160 #define whileloop_condition(x) ((x)->_whileloop_condition_)
3161 #define whileloop_body_(x) whileloop_body(x) /* old hack compatible */
3162 #define whileloop_body(x) ((x)->_whileloop_body_)
3163 #define whileloop_label_(x) whileloop_label(x) /* old hack compatible */
3164 #define whileloop_label(x) ((x)->_whileloop_label_)
3165 #define whileloop_evaluation_(x) whileloop_evaluation(x) /* old hack compatible */
3166 #define whileloop_evaluation(x) ((x)->_whileloop_evaluation_)
3167 
3168 #define ri_spec "\
3169 --NEWGEN-START 27\n\
3170 external Pvecteur;\n\
3171 external Psysteme;\n\
3172 application = function:expression x arguments:expression*;\n\
3173 area = size:int x layout:entity*;\n\
3174 basic = int:int + float:int + logical:int + overloaded:unit + complex:int + string:value + bit:symbolic + pointer:type + derived:entity + typedef:entity;\n\
3175 callees = callees:string*;\n\
3176 call = function:entity x arguments:expression*;\n\
3177 cast = type:type x expression:expression;\n\
3178 code = declarations:entity* x decls_text:string x initializations:sequence x externs:entity* x language:language;\n\
3179 constant = int:int + float:float + logical:int + litteral:unit + call:entity + unknown:unit;\n\
3180 controlmap = persistant statement:statement -> control:control;\n\
3181 control = statement:statement x predecessors:control* x successors:control*;\n\
3182 dimension = lower:expression x upper:expression x qualifiers:qualifier*;\n\
3183 dummy = unknown:unit + identifier:entity;\n\
3184 entity_int = entity:entity -> int:int;\n\
3185 entity_to_entity = entity:entity -> entity:entity;\n\
3186 evaluation = before:unit + after:unit;\n\
3187 execution = sequential:unit + parallel:unit;\n\
3188 expression = syntax:syntax x normalized:normalized;\n\
3189 extension = pragma:pragma + unknown:unit;\n\
3190 extensions = extension:extension*;\n\
3191 forloop = initialization:expression x condition:expression x increment:expression x body:statement;\n\
3192 formal = function:entity x offset:int;\n\
3193 functional = parameters:parameter* x result:type;\n\
3194 instruction = sequence:sequence + test:test + loop:loop + whileloop:whileloop + goto:statement + call:call + unstructured:unstructured + multitest:multitest + forloop:forloop + expression:expression;\n\
3195 language = fortran:unit + c:unit + fortran95:unit + unknown:unit;\n\
3196 loop = index:entity x range:range x body:statement x label:entity x execution:execution x locals:entity*;\n\
3197 mode = value:unit + reference:unit;\n\
3198 multitest = controller:expression x body:statement;\n\
3199 normalized = linear:Pvecteur + complex:unit;\n\
3200 parameter = type:type x mode:mode x dummy:dummy;\n\
3201 persistant_statement_to_cluster = statement:int -> number:int;\n\
3202 persistant_statement_to_control = persistant statement:statement -> persistant control:control;\n\
3203 persistant_statement_to_int = persistant statement:statement -> int:int;\n\
3204 persistant_statement_to_statement = persistant statement:statement -> persistant statement:statement;\n\
3205 pragma = string:string + expression:expression*;\n\
3206 predicate = system:Psysteme;\n\
3207 preference = persistant reference:reference;\n\
3208 qualifier = const:unit + restrict:unit + volatile:unit + register:unit + auto:unit + thread:unit + asm:string + static_dimension:unit + local:unit + global:unit + constant:unit + private:unit;\n\
3209 ram = function:entity x section:entity x offset:int x shared:entity*;\n\
3210 range = lower:expression x upper:expression x increment:expression;\n\
3211 reference = variable:entity x indices:expression*;\n\
3212 sequence = statements:statement*;\n\
3213 sizeofexpression = type:type + expression:expression;\n\
3214 statement = label:entity x number:int x ordering:int x comments:string x instruction:instruction x declarations:entity* x decls_text:string x extensions:extensions x synchronization:synchronization;\n\
3215 storage = return:entity + ram:ram + formal:formal + rom:unit;\n\
3216 subscript = array:expression x indices:expression*;\n\
3217 symbolic = expression:expression x constant:constant;\n\
3218 synchronization = none:unit + spawn:entity + barrier:unit + single:bool + critical:reference;\n\
3219 syntax = reference:reference + range:range + call:call + cast:cast + sizeofexpression:sizeofexpression + subscript:subscript + application:application + va_arg:sizeofexpression*;\n\
3220 tabulated entity = name:string x type:type x storage:storage x initial:value x kind:int;\n\
3221 test = condition:expression x true:statement x false:statement;\n\
3222 transformer = arguments:entity* x relation:predicate;\n\
3223 type = statement:unit + area:area + variable:variable + functional:functional + varargs:type + unknown:unit + void:qualifier* + struct:entity* + union:entity* + enum:entity*;\n\
3224 unstructured = entry:control x exit:control;\n\
3225 value = code:code + symbolic:symbolic + constant:constant + intrinsic:unit + unknown:unit + expression:expression + reference:reference;\n\
3226 variable = basic:basic x dimensions:dimension* x qualifiers:qualifier*;\n\
3227 whileloop = condition:expression x body:statement x label:entity x evaluation:evaluation;\n\
3228 "
3229 #endif
int dummy
A dummy file, to prevent empty libraries from breaking builds.
Definition: dummy.c:41
void free_area(area)
Definition: ri.c:65
struct _newgen_struct_test_ * test
Definition: ri.h:423
application make_application(expression, list)
Definition: ri.c:56
void update_controlmap(controlmap, statement, control)
Definition: ri.c:472
reference check_reference(reference)
Definition: ri.c:2053
bool sizeofexpression_consistent_p(sizeofexpression)
Definition: ri.c:2140
test copy_test(test)
TEST.
Definition: ri.c:2571
void extend_persistant_statement_to_cluster(persistant_statement_to_cluster, intptr_t, intptr_t)
Definition: ri.c:1546
entity make_entity(string, type, storage, value, intptr_t)
Definition: ri.c:2565
void basic_assign_contents(basic, basic)
Definition: ri.c:123
type make_type_variable(variable)
Definition: ri.c:2715
pragma copy_pragma(pragma)
PRAGMA.
Definition: ri.c:1729
type make_type_enum(list)
Definition: ri.c:2736
string dummy_tag_as_string(enum dummy_utype)
Definition: ri.c:607
void update_persistant_statement_to_cluster(persistant_statement_to_cluster, intptr_t, intptr_t)
Definition: ri.c:1543
subscript check_subscript(subscript)
Definition: ri.c:2297
range check_range(range)
Definition: ri.c:2011
void value_non_recursive_free(value)
Definition: ri.c:2810
parameter copy_parameter(parameter)
PARAMETER.
Definition: ri.c:1459
qualifier make_qualifier_static_dimension(void)
Definition: ri.c:1945
bool persistant_statement_to_cluster_defined_p(persistant_statement_to_cluster)
Definition: ri.c:1514
persistant_statement_to_control copy_persistant_statement_to_control(persistant_statement_to_control)
PERSISTANT_STATEMENT_TO_CONTROL.
Definition: ri.c:1558
bool constant_defined_p(constant)
Definition: ri.c:372
void free_sizeofexpression(sizeofexpression)
Definition: ri.c:2134
control delete_controlmap(controlmap, statement)
Definition: ri.c:478
struct _newgen_struct_pragma_ * pragma
Definition: ri.h:295
void write_entity_int(FILE *, entity_int)
Definition: ri.c:656
void free_sequence(sequence)
Definition: ri.c:2092
entity_int check_entity_int(entity_int)
Definition: ri.c:632
bool synchronization_consistent_p(synchronization)
Definition: ri.c:2384
void write_controlmap(FILE *, controlmap)
Definition: ri.c:460
void free_synchronization(synchronization)
Definition: ri.c:2378
bool statement_consistent_p(statement)
Definition: ri.c:2195
void expression_assign_contents(expression, expression)
Definition: ri.c:869
bool bound_controlmap_p(controlmap, statement)
Definition: ri.c:481
constant make_constant_logical(intptr_t)
Definition: ri.c:415
callees copy_callees(callees)
CALLEES.
Definition: ri.c:191
basic_utype
Definition: ri.h:570
@ is_basic_derived
Definition: ri.h:579
@ is_basic_string
Definition: ri.h:576
@ is_basic_float
Definition: ri.h:572
@ is_basic_bit
Definition: ri.h:577
@ is_basic_pointer
Definition: ri.h:578
@ is_basic_overloaded
Definition: ri.h:574
@ is_basic_int
Definition: ri.h:571
@ is_basic_logical
Definition: ri.h:573
@ is_basic_typedef
Definition: ri.h:580
@ is_basic_complex
Definition: ri.h:575
control make_control(statement, list, list)
Definition: ri.c:523
void extension_non_recursive_free(extension)
Definition: ri.c:918
void dummy_non_recursive_free(dummy)
Definition: ri.c:597
void free_persistant_statement_to_cluster(persistant_statement_to_cluster)
Definition: ri.c:1504
bool persistant_statement_to_int_defined_p(persistant_statement_to_int)
Definition: ri.c:1628
bool statement_defined_p(statement)
Definition: ri.c:2199
evaluation check_evaluation(evaluation)
Definition: ri.c:746
loop copy_loop(loop)
LOOP.
Definition: ri.c:1265
void evaluation_assign_contents(evaluation, evaluation)
Definition: ri.c:759
dummy_utype
Definition: ri.h:1008
@ is_dummy_identifier
Definition: ri.h:1010
@ is_dummy_unknown
Definition: ri.h:1009
void write_subscript(FILE *, subscript)
Definition: ri.c:2321
storage make_storage_return(entity)
Definition: ri.c:2276
sizeofexpression_utype
Definition: ri.h:2384
@ is_sizeofexpression_expression
Definition: ri.h:2386
@ is_sizeofexpression_type
Definition: ri.h:2385
void write_entity_to_entity(FILE *, entity_to_entity)
Definition: ri.c:713
mode copy_mode(mode)
MODE.
Definition: ri.c:1307
subscript read_subscript(FILE *)
Definition: ri.c:2324
instruction make_instruction_whileloop(whileloop)
Definition: ri.c:1178
string extension_tag_as_string(enum extension_utype)
Definition: ri.c:928
type make_type_functional(functional)
Definition: ri.c:2718
void evaluation_non_recursive_free(evaluation)
Definition: ri.c:766
bool persistant_statement_to_statement_consistent_p(persistant_statement_to_statement)
Definition: ri.c:1681
void sizeofexpression_assign_contents(sizeofexpression, sizeofexpression)
Definition: ri.c:2150
symbolic make_symbolic(expression, constant)
Definition: ri.c:2369
list gen_language_cons(language, list)
Definition: ri.c:1218
qualifier make_qualifier_constant(void)
Definition: ri.c:1954
callees make_callees(list)
Definition: ri.c:227
list gen_persistant_statement_to_control_cons(persistant_statement_to_control, list)
Definition: ri.c:1574
range read_range(FILE *)
Definition: ri.c:2038
extensions check_extensions(extensions)
Definition: ri.c:953
extension check_extension(extension)
Definition: ri.c:898
struct _newgen_struct_callees_ * callees
Definition: ri.h:55
void basic_non_recursive_free(basic)
Definition: ri.c:130
basic make_basic_float(intptr_t)
Definition: ri.c:161
language make_language_fortran95(void)
Definition: ri.c:1256
void extension_assign_contents(extension, extension)
Definition: ri.c:911
struct _newgen_struct_sequence_ * sequence
Definition: ri.h:351
void write_ram(FILE *, ram)
Definition: ri.c:1993
whileloop check_whileloop(whileloop)
Definition: ri.c:2907
void type_assign_contents(type, type)
Definition: ri.c:2674
struct _newgen_struct_qualifier_ * qualifier
Definition: ri.h:319
void controlmap_assign_contents(controlmap, controlmap)
Definition: ri.c:449
control read_control(FILE *)
Definition: ri.c:520
statement make_statement(entity, intptr_t, intptr_t, string, instruction, list, string, extensions, synchronization)
Definition: ri.c:2222
unstructured make_unstructured(control, control)
Definition: ri.c:2778
bool basic_consistent_p(basic)
Definition: ri.c:113
list gen_evaluation_cons(evaluation, list)
Definition: ri.c:756
basic make_basic_logical(intptr_t)
Definition: ri.c:164
evaluation make_evaluation_before(void)
Definition: ri.c:786
bool extensions_defined_p(extensions)
Definition: ri.c:960
struct _newgen_struct_value_ * value
Definition: ri.h:455
type make_type_void(list)
Definition: ri.c:2727
void entity_non_recursive_free(entity)
Definition: ri.c:2547
value make_value_expression(expression)
Definition: ri.c:2850
ram make_ram(entity, entity, intptr_t, list)
Definition: ri.c:1999
void expression_non_recursive_free(expression)
Definition: ri.c:876
list gen_persistant_statement_to_int_cons(persistant_statement_to_int, list)
Definition: ri.c:1631
struct _newgen_struct_reference_ * reference
Definition: ri.h:343
string constant_tag_as_string(enum constant_utype)
Definition: ri.c:395
dimension copy_dimension(dimension)
DIMENSION.
Definition: ri.c:529
multitest make_multitest(expression, statement)
Definition: ri.c:1398
void language_assign_contents(language, language)
Definition: ri.c:1221
void execution_assign_contents(execution, execution)
Definition: ri.c:814
pragma make_pragma(enum pragma_utype, void *)
Definition: ri.c:1772
bool execution_consistent_p(execution)
Definition: ri.c:804
void parameter_assign_contents(parameter, parameter)
Definition: ri.c:1478
qualifier make_qualifier_private(void)
Definition: ri.c:1957
void write_range(FILE *, range)
Definition: ri.c:2035
void write_persistant_statement_to_cluster(FILE *, persistant_statement_to_cluster)
Definition: ri.c:1531
expression make_expression(syntax, normalized)
Definition: ri.c:886
void update_persistant_statement_to_statement(persistant_statement_to_statement, statement, statement)
Definition: ri.c:1714
void write_evaluation(FILE *, evaluation)
Definition: ri.c:770
void area_non_recursive_free(area)
Definition: ri.c:88
void free_preference(preference)
Definition: ri.c:1829
void write_whileloop(FILE *, whileloop)
Definition: ri.c:2931
bool entity_consistent_p(entity)
Definition: ri.c:2530
controlmap make_controlmap(void)
Definition: ri.c:466
void unstructured_non_recursive_free(unstructured)
Definition: ri.c:2768
void extend_persistant_statement_to_int(persistant_statement_to_int, statement, intptr_t)
Definition: ri.c:1660
void write_callees(FILE *, callees)
Definition: ri.c:221
application check_application(application)
Definition: ri.c:26
bool sequence_defined_p(sequence)
Definition: ri.c:2102
list gen_persistant_statement_to_statement_cons(persistant_statement_to_statement, list)
Definition: ri.c:1688
list gen_mode_cons(mode, list)
Definition: ri.c:1323
list gen_area_cons(area, list)
Definition: ri.c:78
dummy read_dummy(FILE *)
Definition: ri.c:604
bool entity_to_entity_defined_p(entity_to_entity)
Definition: ri.c:696
struct _newgen_struct_statement_ * statement
Definition: ri.h:367
void free_statement(statement)
Definition: ri.c:2189
entity gen_find_entity(char *)
Definition: ri.c:2551
list gen_execution_cons(execution, list)
Definition: ri.c:811
type read_type(FILE *)
Definition: ri.c:2688
sizeofexpression copy_sizeofexpression(sizeofexpression)
SIZEOFEXPRESSION.
Definition: ri.c:2131
synchronization_utype
Definition: ri.h:2623
@ is_synchronization_single
Definition: ri.h:2627
@ is_synchronization_barrier
Definition: ri.h:2626
@ is_synchronization_spawn
Definition: ri.h:2625
@ is_synchronization_critical
Definition: ri.h:2628
@ is_synchronization_none
Definition: ri.h:2624
list gen_pragma_cons(pragma, list)
Definition: ri.c:1745
void write_extension(FILE *, extension)
Definition: ri.c:922
value make_value_code(code)
Definition: ri.c:2835
extension copy_extension(extension)
EXTENSION.
Definition: ri.c:892
void write_tabulated_entity(FILE *)
Definition: ri.c:2554
bool transformer_consistent_p(transformer)
Definition: ri.c:2622
void free_persistant_statement_to_control(persistant_statement_to_control)
Definition: ri.c:1561
void range_non_recursive_free(range)
Definition: ri.c:2031
basic copy_basic(basic)
BASIC.
Definition: ri.c:104
void update_entity_int(entity_int, entity, intptr_t)
Definition: ri.c:668
persistant_statement_to_control make_persistant_statement_to_control(void)
Definition: ri.c:1594
statement apply_persistant_statement_to_statement(persistant_statement_to_statement, statement)
Definition: ri.c:1711
void extensions_assign_contents(extensions, extensions)
Definition: ri.c:966
test check_test(test)
Definition: ri.c:2577
value make_value_unknown(void)
Definition: ri.c:2847
bool reference_defined_p(reference)
Definition: ri.c:2060
void free_constant(constant)
Definition: ri.c:362
extension make_extension_pragma(pragma)
Definition: ri.c:938
bool persistant_statement_to_statement_defined_p(persistant_statement_to_statement)
Definition: ri.c:1685
bool storage_defined_p(storage)
Definition: ri.c:2241
subscript copy_subscript(subscript)
SUBSCRIPT.
Definition: ri.c:2291
functional make_functional(list, type)
Definition: ri.c:1109
void write_basic(FILE *, basic)
Definition: ri.c:134
parameter check_parameter(parameter)
Definition: ri.c:1465
list gen_statement_cons(statement, list)
Definition: ri.c:2202
pragma_utype
Definition: ri.h:2011
@ is_pragma_expression
Definition: ri.h:2013
@ is_pragma_string
Definition: ri.h:2012
formal read_formal(FILE *)
Definition: ri.c:1064
void write_persistant_statement_to_int(FILE *, persistant_statement_to_int)
Definition: ri.c:1645
void write_syntax(FILE *, syntax)
Definition: ri.c:2472
void write_control(FILE *, control)
Definition: ri.c:517
bool preference_defined_p(preference)
Definition: ri.c:1839
entity_int read_entity_int(FILE *)
Definition: ri.c:659
intptr_t delete_persistant_statement_to_int(persistant_statement_to_int, statement)
Definition: ri.c:1663
synchronization make_synchronization_critical(reference)
Definition: ri.c:2436
void loop_assign_contents(loop, loop)
Definition: ri.c:1284
mode make_mode(enum mode_utype, void *)
Definition: ri.c:1350
bool dummy_defined_p(dummy)
Definition: ri.c:584
normalized make_normalized_linear(Pvecteur)
Definition: ri.c:1450
struct _newgen_struct_area_ * area
Definition: ri.h:39
struct _newgen_struct_controlmap_ * controlmap
Definition: ri.h:95
bool dummy_consistent_p(dummy)
Definition: ri.c:580
void free_entity_int(entity_int)
Definition: ri.c:629
void free_storage(storage)
Definition: ri.c:2231
persistant_statement_to_cluster copy_persistant_statement_to_cluster(persistant_statement_to_cluster)
PERSISTANT_STATEMENT_TO_CLUSTER.
Definition: ri.c:1501
void read_tabulated_entity(FILE *)
Definition: ri.c:2557
controlmap check_controlmap(controlmap)
Definition: ri.c:436
entity apply_entity_to_entity(entity_to_entity, entity)
Definition: ri.c:722
variable check_variable(variable)
Definition: ri.c:2865
persistant_statement_to_int check_persistant_statement_to_int(persistant_statement_to_int)
Definition: ri.c:1621
struct _newgen_struct_functional_ * functional
Definition: ri.h:199
void write_cast(FILE *, cast)
Definition: ri.c:305
range make_range(expression, expression, expression)
Definition: ri.c:2041
void write_mode(FILE *, mode)
Definition: ri.c:1337
bool pragma_defined_p(pragma)
Definition: ri.c:1742
dummy make_dummy(enum dummy_utype, void *)
Definition: ri.c:614
storage make_storage(enum storage_utype, void *)
Definition: ri.c:2273
list gen_entity_cons(entity, list)
Definition: ri.c:2537
void type_non_recursive_free(type)
Definition: ri.c:2681
variable read_variable(FILE *)
Definition: ri.c:2892
value copy_value(value)
VALUE.
Definition: ri.c:2784
void free_control(control)
Definition: ri.c:490
void free_normalized(normalized)
Definition: ri.c:1407
entity_to_entity make_entity_to_entity(void)
Definition: ri.c:719
void free_formal(formal)
Definition: ri.c:1034
bool constant_consistent_p(constant)
Definition: ri.c:368
struct _newgen_struct_unstructured_ * unstructured
Definition: ri.h:447
value make_value(enum value_utype, void *)
Definition: ri.c:2832
multitest check_multitest(multitest)
Definition: ri.c:1368
struct _newgen_struct_symbolic_ * symbolic
Definition: ri.h:391
bool formal_consistent_p(formal)
Definition: ri.c:1040
struct _newgen_struct_entity_to_entity_ * entity_to_entity
Definition: ri.h:135
void write_unstructured(FILE *, unstructured)
Definition: ri.c:2772
language make_language_fortran(void)
Definition: ri.c:1250
void write_preference(FILE *, preference)
Definition: ri.c:1856
value check_value(value)
Definition: ri.c:2790
entity_to_entity check_entity_to_entity(entity_to_entity)
Definition: ri.c:689
dimension read_dimension(FILE *)
Definition: ri.c:562
qualifier make_qualifier_local(void)
Definition: ri.c:1948
bool normalized_consistent_p(normalized)
Definition: ri.c:1413
persistant_statement_to_int copy_persistant_statement_to_int(persistant_statement_to_int)
PERSISTANT_STATEMENT_TO_INT.
Definition: ri.c:1615
void write_functional(FILE *, functional)
Definition: ri.c:1103
bool language_defined_p(language)
Definition: ri.c:1215
bool bound_entity_int_p(entity_int, entity)
Definition: ri.c:677
void free_loop(loop)
Definition: ri.c:1268
void extend_entity_to_entity(entity_to_entity, entity, entity)
Definition: ri.c:728
list gen_preference_cons(preference, list)
Definition: ri.c:1842
type make_type_area(area)
Definition: ri.c:2712
multitest read_multitest(FILE *)
Definition: ri.c:1395
void application_assign_contents(application, application)
Definition: ri.c:39
callees read_callees(FILE *)
Definition: ri.c:224
persistant_statement_to_cluster check_persistant_statement_to_cluster(persistant_statement_to_cluster)
Definition: ri.c:1507
list gen_range_cons(range, list)
Definition: ri.c:2021
bool parameter_defined_p(parameter)
Definition: ri.c:1472
constant check_constant(constant)
Definition: ri.c:365
code read_code(FILE *)
Definition: ri.c:350
bool symbolic_defined_p(symbolic)
Definition: ri.c:2346
basic make_basic_string(value)
Definition: ri.c:173
void write_dimension(FILE *, dimension)
Definition: ri.c:559
struct _newgen_struct_dimension_ * dimension
Definition: ri.h:111
void persistant_statement_to_int_non_recursive_free(persistant_statement_to_int)
Definition: ri.c:1641
intptr_t delete_persistant_statement_to_cluster(persistant_statement_to_cluster, intptr_t)
Definition: ri.c:1549
struct _newgen_struct_persistant_statement_to_statement_ * persistant_statement_to_statement
Definition: ri.h:287
basic make_basic_bit(symbolic)
Definition: ri.c:176
list gen_parameter_cons(parameter, list)
Definition: ri.c:1475
bool predicate_consistent_p(predicate)
Definition: ri.c:1793
persistant_statement_to_cluster read_persistant_statement_to_cluster(FILE *)
Definition: ri.c:1534
loop make_loop(entity, range, statement, entity, execution, list)
Definition: ri.c:1301
whileloop copy_whileloop(whileloop)
WHILELOOP.
Definition: ri.c:2901
list gen_qualifier_cons(qualifier, list)
Definition: ri.c:1884
void symbolic_non_recursive_free(symbolic)
Definition: ri.c:2359
string qualifier_tag_as_string(enum qualifier_utype)
Definition: ri.c:1904
type make_type_varargs(type)
Definition: ri.c:2721
struct _newgen_struct_whileloop_ * whileloop
Definition: ri.h:471
void dimension_non_recursive_free(dimension)
Definition: ri.c:555
reference copy_reference(reference)
REFERENCE.
Definition: ri.c:2047
intptr_t delete_entity_int(entity_int, entity)
Definition: ri.c:674
void write_symbolic(FILE *, symbolic)
Definition: ri.c:2363
void functional_assign_contents(functional, functional)
Definition: ri.c:1092
qualifier make_qualifier_asm(string)
Definition: ri.c:1942
sequence read_sequence(FILE *)
Definition: ri.c:2122
bool entity_int_defined_p(entity_int)
Definition: ri.c:639
pragma read_pragma(FILE *)
Definition: ri.c:1762
mode_utype
Definition: ri.h:1674
@ is_mode_reference
Definition: ri.h:1676
@ is_mode_value
Definition: ri.h:1675
void forloop_assign_contents(forloop, forloop)
Definition: ri.c:1008
controlmap read_controlmap(FILE *)
Definition: ri.c:463
constant make_constant(enum constant_utype, void *)
Definition: ri.c:406
qualifier read_qualifier(FILE *)
Definition: ri.c:1901
storage make_storage_rom(void)
Definition: ri.c:2285
void entity_int_assign_contents(entity_int, entity_int)
Definition: ri.c:645
call make_call(entity, list)
Definition: ri.c:269
list gen_controlmap_cons(controlmap, list)
Definition: ri.c:446
instruction make_instruction_forloop(forloop)
Definition: ri.c:1193
void write_constant(FILE *, constant)
Definition: ri.c:389
bool code_consistent_p(code)
Definition: ri.c:326
void free_functional(functional)
Definition: ri.c:1076
expression copy_expression(expression)
EXPRESSION.
Definition: ri.c:850
bool bound_persistant_statement_to_cluster_p(persistant_statement_to_cluster, intptr_t)
Definition: ri.c:1552
qualifier make_qualifier_thread(void)
Definition: ri.c:1939
instruction make_instruction_multitest(multitest)
Definition: ri.c:1190
normalized make_normalized(enum normalized_utype, void *)
Definition: ri.c:1447
bool code_defined_p(code)
Definition: ri.c:330
evaluation read_evaluation(FILE *)
Definition: ri.c:773
void execution_non_recursive_free(execution)
Definition: ri.c:821
ram copy_ram(ram)
RAM.
Definition: ri.c:1963
void control_assign_contents(control, control)
Definition: ri.c:506
synchronization make_synchronization_single(bool)
Definition: ri.c:2433
bool evaluation_defined_p(evaluation)
Definition: ri.c:753
void write_storage(FILE *, storage)
Definition: ri.c:2258
bool bound_persistant_statement_to_int_p(persistant_statement_to_int, statement)
Definition: ri.c:1666
void free_callees(callees)
Definition: ri.c:194
syntax check_syntax(syntax)
Definition: ri.c:2448
constant_utype
Definition: ri.h:816
@ is_constant_int
Definition: ri.h:817
@ is_constant_logical
Definition: ri.h:819
@ is_constant_unknown
Definition: ri.h:822
@ is_constant_litteral
Definition: ri.h:820
@ is_constant_float
Definition: ri.h:818
@ is_constant_call
Definition: ri.h:821
void callees_assign_contents(callees, callees)
Definition: ri.c:210
intptr_t apply_persistant_statement_to_int(persistant_statement_to_int, statement)
Definition: ri.c:1654
void ram_assign_contents(ram, ram)
Definition: ri.c:1982
list gen_forloop_cons(forloop, list)
Definition: ri.c:1005
bool instruction_defined_p(instruction)
Definition: ri.c:1128
void update_entity_to_entity(entity_to_entity, entity, entity)
Definition: ri.c:725
mode make_mode_reference(void)
Definition: ri.c:1356
code make_code(list, string, sequence, list, language)
Definition: ri.c:353
void ram_non_recursive_free(ram)
Definition: ri.c:1989
void reference_assign_contents(reference, reference)
Definition: ri.c:2066
expression check_expression(expression)
Definition: ri.c:856
syntax copy_syntax(syntax)
SYNTAX.
Definition: ri.c:2442
functional check_functional(functional)
Definition: ri.c:1079
list gen_formal_cons(formal, list)
Definition: ri.c:1047
void free_multitest(multitest)
Definition: ri.c:1365
string synchronization_tag_as_string(enum synchronization_utype)
Definition: ri.c:2411
area make_area(intptr_t, list)
Definition: ri.c:98
unstructured read_unstructured(FILE *)
Definition: ri.c:2775
forloop copy_forloop(forloop)
FORLOOP.
Definition: ri.c:989
sizeofexpression make_sizeofexpression_expression(expression)
Definition: ri.c:2180
void write_persistant_statement_to_statement(FILE *, persistant_statement_to_statement)
Definition: ri.c:1702
void free_whileloop(whileloop)
Definition: ri.c:2904
bool transformer_defined_p(transformer)
Definition: ri.c:2626
bool sequence_consistent_p(sequence)
Definition: ri.c:2098
list gen_whileloop_cons(whileloop, list)
Definition: ri.c:2917
control copy_control(control)
CONTROL.
Definition: ri.c:487
qualifier copy_qualifier(qualifier)
QUALIFIER.
Definition: ri.c:1868
void write_dummy(FILE *, dummy)
Definition: ri.c:601
void free_transformer(transformer)
Definition: ri.c:2616
basic make_basic_overloaded(void)
Definition: ri.c:167
value make_value_symbolic(symbolic)
Definition: ri.c:2838
void persistant_statement_to_statement_assign_contents(persistant_statement_to_statement, persistant_statement_to_statement)
Definition: ri.c:1691
void write_statement(FILE *, statement)
Definition: ri.c:2216
value_utype
Definition: ri.h:3030
@ is_value_intrinsic
Definition: ri.h:3034
@ is_value_unknown
Definition: ri.h:3035
@ is_value_reference
Definition: ri.h:3037
@ is_value_expression
Definition: ri.h:3036
@ is_value_constant
Definition: ri.h:3033
@ is_value_code
Definition: ri.h:3031
@ is_value_symbolic
Definition: ri.h:3032
pragma check_pragma(pragma)
Definition: ri.c:1735
list gen_type_cons(type, list)
Definition: ri.c:2671
bool variable_consistent_p(variable)
Definition: ri.c:2868
qualifier make_qualifier_restrict(void)
Definition: ri.c:1927
bool callees_defined_p(callees)
Definition: ri.c:204
void write_call(FILE *, call)
Definition: ri.c:263
persistant_statement_to_statement read_persistant_statement_to_statement(FILE *)
Definition: ri.c:1705
parameter make_parameter(type, mode, dummy)
Definition: ri.c:1495
intptr_t apply_persistant_statement_to_cluster(persistant_statement_to_cluster, intptr_t)
Definition: ri.c:1540
synchronization copy_synchronization(synchronization)
SYNCHRONIZATION.
Definition: ri.c:2375
struct _newgen_struct_subscript_ * subscript
Definition: ri.h:383
statement copy_statement(statement)
STATEMENT.
Definition: ri.c:2186
bool mode_defined_p(mode)
Definition: ri.c:1320
void preference_assign_contents(preference, preference)
Definition: ri.c:1845
call check_call(call)
Definition: ri.c:239
void constant_assign_contents(constant, constant)
Definition: ri.c:378
syntax_utype
Definition: ri.h:2690
@ is_syntax_range
Definition: ri.h:2692
@ is_syntax_application
Definition: ri.h:2697
@ is_syntax_cast
Definition: ri.h:2694
@ is_syntax_call
Definition: ri.h:2693
@ is_syntax_va_arg
Definition: ri.h:2698
@ is_syntax_reference
Definition: ri.h:2691
@ is_syntax_sizeofexpression
Definition: ri.h:2695
@ is_syntax_subscript
Definition: ri.h:2696
sequence copy_sequence(sequence)
SEQUENCE.
Definition: ri.c:2089
bool ram_consistent_p(ram)
Definition: ri.c:1972
void free_persistant_statement_to_statement(persistant_statement_to_statement)
Definition: ri.c:1675
void transformer_assign_contents(transformer, transformer)
Definition: ri.c:2632
language make_language_unknown(void)
Definition: ri.c:1259
persistant_statement_to_statement make_persistant_statement_to_statement(void)
Definition: ri.c:1708
void write_forloop(FILE *, forloop)
Definition: ri.c:1019
void dimension_assign_contents(dimension, dimension)
Definition: ri.c:548
bool value_consistent_p(value)
Definition: ri.c:2793
functional copy_functional(functional)
FUNCTIONAL.
Definition: ri.c:1073
void dummy_assign_contents(dummy, dummy)
Definition: ri.c:590
struct _newgen_struct_execution_ * execution
Definition: ri.h:151
void code_assign_contents(code, code)
Definition: ri.c:336
area check_area(area)
Definition: ri.c:68
void extend_persistant_statement_to_control(persistant_statement_to_control, statement, control)
Definition: ri.c:1603
void free_type(type)
Definition: ri.c:2658
constant make_constant_call(entity)
Definition: ri.c:421
transformer check_transformer(transformer)
Definition: ri.c:2619
void persistant_statement_to_cluster_assign_contents(persistant_statement_to_cluster, persistant_statement_to_cluster)
Definition: ri.c:1520
bool variable_defined_p(variable)
Definition: ri.c:2872
sizeofexpression make_sizeofexpression(enum sizeofexpression_utype, void *)
Definition: ri.c:2174
string sizeofexpression_tag_as_string(enum sizeofexpression_utype)
Definition: ri.c:2167
test read_test(FILE *)
Definition: ri.c:2604
area read_area(FILE *)
Definition: ri.c:95
persistant_statement_to_control read_persistant_statement_to_control(FILE *)
Definition: ri.c:1591
storage copy_storage(storage)
STORAGE.
Definition: ri.c:2228
syntax make_syntax_application(application)
Definition: ri.c:2512
type make_type_statement(void)
Definition: ri.c:2709
void free_test(test)
Definition: ri.c:2574
reference read_reference(FILE *)
Definition: ri.c:2080
void free_call(call)
Definition: ri.c:236
preference check_preference(preference)
Definition: ri.c:1832
list gen_synchronization_cons(synchronization, list)
Definition: ri.c:2391
bool storage_consistent_p(storage)
Definition: ri.c:2237
dimension check_dimension(dimension)
Definition: ri.c:535
list gen_loop_cons(loop, list)
Definition: ri.c:1281
bool controlmap_consistent_p(controlmap)
Definition: ri.c:439
test make_test(expression, statement, statement)
Definition: ri.c:2607
void write_normalized(FILE *, normalized)
Definition: ri.c:1434
void free_unstructured(unstructured)
Definition: ri.c:2745
void free_qualifier(qualifier)
Definition: ri.c:1871
variable copy_variable(variable)
VARIABLE.
Definition: ri.c:2859
void code_non_recursive_free(code)
Definition: ri.c:343
mode check_mode(mode)
Definition: ri.c:1313
string pragma_tag_as_string(enum pragma_utype)
Definition: ri.c:1765
list gen_expression_cons(expression, list)
Definition: ri.c:866
void control_non_recursive_free(control)
Definition: ri.c:513
list gen_unstructured_cons(unstructured, list)
Definition: ri.c:2758
void synchronization_non_recursive_free(synchronization)
Definition: ri.c:2401
void write_application(FILE *, application)
Definition: ri.c:50
void controlmap_non_recursive_free(controlmap)
Definition: ri.c:456
value read_value(FILE *)
Definition: ri.c:2817
predicate check_predicate(predicate)
Definition: ri.c:1790
list gen_normalized_cons(normalized, list)
Definition: ri.c:1420
storage_utype
Definition: ri.h:2490
@ is_storage_rom
Definition: ri.h:2494
@ is_storage_return
Definition: ri.h:2491
@ is_storage_ram
Definition: ri.h:2492
@ is_storage_formal
Definition: ri.h:2493
sequence check_sequence(sequence)
Definition: ri.c:2095
bool extension_defined_p(extension)
Definition: ri.c:905
void free_dummy(dummy)
Definition: ri.c:574
list gen_dummy_cons(dummy, list)
Definition: ri.c:587
bool persistant_statement_to_cluster_consistent_p(persistant_statement_to_cluster)
Definition: ri.c:1510
synchronization check_synchronization(synchronization)
Definition: ri.c:2381
bool functional_defined_p(functional)
Definition: ri.c:1086
void free_extension(extension)
Definition: ri.c:895
bool cast_consistent_p(cast)
Definition: ri.c:284
struct _newgen_struct_control_ * control
Definition: ri.h:103
forloop check_forloop(forloop)
Definition: ri.c:995
bool execution_defined_p(execution)
Definition: ri.c:808
void storage_assign_contents(storage, storage)
Definition: ri.c:2247
bool basic_defined_p(basic)
Definition: ri.c:117
void write_qualifier(FILE *, qualifier)
Definition: ri.c:1898
unstructured check_unstructured(unstructured)
Definition: ri.c:2748
string syntax_tag_as_string(enum syntax_utype)
Definition: ri.c:2478
bool unstructured_consistent_p(unstructured)
Definition: ri.c:2751
void sequence_non_recursive_free(sequence)
Definition: ri.c:2115
ram read_ram(FILE *)
Definition: ri.c:1996
extensions read_extensions(FILE *)
Definition: ri.c:980
normalized read_normalized(FILE *)
Definition: ri.c:1437
bool functional_consistent_p(functional)
Definition: ri.c:1082
evaluation_utype
Definition: ri.h:1139
@ is_evaluation_after
Definition: ri.h:1141
@ is_evaluation_before
Definition: ri.h:1140
struct _newgen_struct_parameter_ * parameter
Definition: ri.h:255
sequence make_sequence(list)
Definition: ri.c:2125
void write_execution(FILE *, execution)
Definition: ri.c:825
bool area_defined_p(area)
Definition: ri.c:75
call copy_call(call)
CALL.
Definition: ri.c:233
language copy_language(language)
LANGUAGE.
Definition: ri.c:1202
string language_tag_as_string(enum language_utype)
Definition: ri.c:1238
void free_cast(cast)
Definition: ri.c:278
bool application_defined_p(application)
Definition: ri.c:33
expression read_expression(FILE *)
Definition: ri.c:883
dummy make_dummy_identifier(entity)
Definition: ri.c:620
parameter read_parameter(FILE *)
Definition: ri.c:1492
struct _newgen_struct_evaluation_ * evaluation
Definition: ri.h:143
struct _newgen_struct_loop_ * loop
Definition: ri.h:223
instruction_utype
Definition: ri.h:1468
@ is_instruction_goto
Definition: ri.h:1473
@ is_instruction_unstructured
Definition: ri.h:1475
@ is_instruction_whileloop
Definition: ri.h:1472
@ is_instruction_expression
Definition: ri.h:1478
@ is_instruction_test
Definition: ri.h:1470
@ is_instruction_multitest
Definition: ri.h:1476
@ is_instruction_call
Definition: ri.h:1474
@ is_instruction_sequence
Definition: ri.h:1469
@ is_instruction_forloop
Definition: ri.h:1477
@ is_instruction_loop
Definition: ri.h:1471
sizeofexpression read_sizeofexpression(FILE *)
Definition: ri.c:2164
void functional_non_recursive_free(functional)
Definition: ri.c:1099
application copy_application(application)
APPLICATION.
Definition: ri.c:20
bool test_consistent_p(test)
Definition: ri.c:2580
type make_type_struct(list)
Definition: ri.c:2730
struct _newgen_struct_normalized_ * normalized
Definition: ri.h:247
persistant_statement_to_int read_persistant_statement_to_int(FILE *)
Definition: ri.c:1648
loop check_loop(loop)
Definition: ri.c:1271
string instruction_tag_as_string(enum instruction_utype)
Definition: ri.c:1151
void write_sizeofexpression(FILE *, sizeofexpression)
Definition: ri.c:2161
string evaluation_tag_as_string(enum evaluation_utype)
Definition: ri.c:776
instruction make_instruction_call(call)
Definition: ri.c:1184
loop read_loop(FILE *)
Definition: ri.c:1298
void free_basic(basic)
Definition: ri.c:107
bool subscript_consistent_p(subscript)
Definition: ri.c:2300
string mode_tag_as_string(enum mode_utype)
Definition: ri.c:1343
void free_entity(entity)
Definition: ri.c:2524
void write_persistant_statement_to_control(FILE *, persistant_statement_to_control)
Definition: ri.c:1588
bool cast_defined_p(cast)
Definition: ri.c:288
bool language_consistent_p(language)
Definition: ri.c:1211
persistant_statement_to_control check_persistant_statement_to_control(persistant_statement_to_control)
Definition: ri.c:1564
intptr_t apply_entity_int(entity_int, entity)
Definition: ri.c:665
bool sizeofexpression_defined_p(sizeofexpression)
Definition: ri.c:2144
list gen_basic_cons(basic, list)
Definition: ri.c:120
void test_non_recursive_free(test)
Definition: ri.c:2597
void free_evaluation(evaluation)
Definition: ri.c:743
bool ram_defined_p(ram)
Definition: ri.c:1976
bool entity_defined_p(entity)
Definition: ri.c:2534
bool whileloop_defined_p(whileloop)
Definition: ri.c:2914
struct _newgen_struct_multitest_ * multitest
Definition: ri.h:239
statement check_statement(statement)
Definition: ri.c:2192
basic make_basic_int(intptr_t)
Definition: ri.c:158
constant make_constant_float(float)
Definition: ri.c:412
struct _newgen_struct_constant_ * constant
Definition: ri.h:87
struct _newgen_struct_call_ * call
Definition: ri.h:63
qualifier check_qualifier(qualifier)
Definition: ri.c:1874
syntax make_syntax_range(range)
Definition: ri.c:2497
struct _newgen_struct_range_ * range
Definition: ri.h:335
void callees_non_recursive_free(callees)
Definition: ri.c:217
bool persistant_statement_to_int_consistent_p(persistant_statement_to_int)
Definition: ri.c:1624
void free_forloop(forloop)
Definition: ri.c:992
execution make_execution_sequential(void)
Definition: ri.c:841
bool bound_persistant_statement_to_control_p(persistant_statement_to_control, statement)
Definition: ri.c:1609
value make_value_constant(constant)
Definition: ri.c:2841
void free_language(language)
Definition: ri.c:1205
void update_persistant_statement_to_int(persistant_statement_to_int, statement, intptr_t)
Definition: ri.c:1657
void write_instruction(FILE *, instruction)
Definition: ri.c:1145
struct _newgen_struct_syntax_ * syntax
Definition: ri.h:407
void write_multitest(FILE *, multitest)
Definition: ri.c:1392
cast read_cast(FILE *)
Definition: ri.c:308
bool predicate_defined_p(predicate)
Definition: ri.c:1797
void formal_assign_contents(formal, formal)
Definition: ri.c:1050
void free_mode(mode)
Definition: ri.c:1310
void value_assign_contents(value, value)
Definition: ri.c:2803
type make_type(enum type_utype, void *)
Definition: ri.c:2706
entity_to_entity read_entity_to_entity(FILE *)
Definition: ri.c:716
list gen_storage_cons(storage, list)
Definition: ri.c:2244
list gen_reference_cons(reference, list)
Definition: ri.c:2063
void unstructured_assign_contents(unstructured, unstructured)
Definition: ri.c:2761
void free_expression(expression)
Definition: ri.c:853
type make_type_union(list)
Definition: ri.c:2733
void write_synchronization(FILE *, synchronization)
Definition: ri.c:2405
qualifier make_qualifier_register(void)
Definition: ri.c:1933
sizeofexpression check_sizeofexpression(sizeofexpression)
Definition: ri.c:2137
execution make_execution(enum execution_utype, void *)
Definition: ri.c:838
instruction make_instruction_loop(loop)
Definition: ri.c:1175
void subscript_non_recursive_free(subscript)
Definition: ri.c:2317
language make_language(enum language_utype, void *)
Definition: ri.c:1247
struct _newgen_struct_mode_ * mode
Definition: ri.h:231
list gen_call_cons(call, list)
Definition: ri.c:249
list gen_value_cons(value, list)
Definition: ri.c:2800
control apply_controlmap(controlmap, statement)
Definition: ri.c:469
void update_persistant_statement_to_control(persistant_statement_to_control, statement, control)
Definition: ri.c:1600
list gen_sizeofexpression_cons(sizeofexpression, list)
Definition: ri.c:2147
extension make_extension(enum extension_utype, void *)
Definition: ri.c:935
bool instruction_consistent_p(instruction)
Definition: ri.c:1124
execution read_execution(FILE *)
Definition: ri.c:828
void persistant_statement_to_int_assign_contents(persistant_statement_to_int, persistant_statement_to_int)
Definition: ri.c:1634
bool qualifier_consistent_p(qualifier)
Definition: ri.c:1877
void pragma_non_recursive_free(pragma)
Definition: ri.c:1755
struct _newgen_struct_type_ * type
Definition: ri.h:439
bool range_consistent_p(range)
Definition: ri.c:2014
bool value_defined_p(value)
Definition: ri.c:2797
void area_assign_contents(area, area)
Definition: ri.c:81
struct _newgen_struct_instruction_ * instruction
Definition: ri.h:207
extensions make_extensions(list)
Definition: ri.c:983
string basic_tag_as_string(enum basic_utype)
Definition: ri.c:140
void write_parameter(FILE *, parameter)
Definition: ri.c:1489
list gen_multitest_cons(multitest, list)
Definition: ri.c:1378
void cast_non_recursive_free(cast)
Definition: ri.c:301
entity check_entity(entity)
Definition: ri.c:2527
void free_subscript(subscript)
Definition: ri.c:2294
qualifier make_qualifier_volatile(void)
Definition: ri.c:1930
forloop read_forloop(FILE *)
Definition: ri.c:1022
syntax make_syntax_sizeofexpression(sizeofexpression)
Definition: ri.c:2506
void free_range(range)
Definition: ri.c:2008
void free_instruction(instruction)
Definition: ri.c:1118
bool synchronization_defined_p(synchronization)
Definition: ri.c:2388
bool reference_consistent_p(reference)
Definition: ri.c:2056
bool multitest_defined_p(multitest)
Definition: ri.c:1375
void predicate_assign_contents(predicate, predicate)
Definition: ri.c:1803
void range_assign_contents(range, range)
Definition: ri.c:2024
void write_pragma(FILE *, pragma)
Definition: ri.c:1759
bool application_consistent_p(application)
Definition: ri.c:29
struct _newgen_struct_basic_ * basic
Definition: ri.h:47
dummy check_dummy(dummy)
Definition: ri.c:577
synchronization make_synchronization(enum synchronization_utype, void *)
Definition: ri.c:2421
list gen_test_cons(test, list)
Definition: ri.c:2587
void write_extensions(FILE *, extensions)
Definition: ri.c:977
void qualifier_assign_contents(qualifier, qualifier)
Definition: ri.c:1887
void write_code(FILE *, code)
Definition: ri.c:347
entity delete_entity_to_entity(entity_to_entity, entity)
Definition: ri.c:731
symbolic check_symbolic(symbolic)
Definition: ri.c:2339
list gen_constant_cons(constant, list)
Definition: ri.c:375
constant make_constant_int(intptr_t)
Definition: ri.c:409
bool area_consistent_p(area)
Definition: ri.c:71
void persistant_statement_to_control_non_recursive_free(persistant_statement_to_control)
Definition: ri.c:1584
void variable_assign_contents(variable, variable)
Definition: ri.c:2878
void write_type(FILE *, type)
Definition: ri.c:2685
void write_expression(FILE *, expression)
Definition: ri.c:880
bool multitest_consistent_p(multitest)
Definition: ri.c:1371
bool persistant_statement_to_control_defined_p(persistant_statement_to_control)
Definition: ri.c:1571
bool whileloop_consistent_p(whileloop)
Definition: ri.c:2910
void statement_assign_contents(statement, statement)
Definition: ri.c:2205
type copy_type(type)
TYPE.
Definition: ri.c:2655
void statement_non_recursive_free(statement)
Definition: ri.c:2212
struct _newgen_struct_predicate_ * predicate
Definition: ri.h:303
entity_to_entity copy_entity_to_entity(entity_to_entity)
ENTITY_TO_ENTITY.
Definition: ri.c:683
list gen_ram_cons(ram, list)
Definition: ri.c:1979
bool type_defined_p(type)
Definition: ri.c:2668
bool extension_consistent_p(extension)
Definition: ri.c:901
extension_utype
Definition: ri.h:1273
@ is_extension_pragma
Definition: ri.h:1274
@ is_extension_unknown
Definition: ri.h:1275
void free_extensions(extensions)
Definition: ri.c:950
bool call_consistent_p(call)
Definition: ri.c:242
control check_control(control)
Definition: ri.c:493
persistant_statement_to_cluster make_persistant_statement_to_cluster(void)
Definition: ri.c:1537
forloop make_forloop(expression, expression, expression, statement)
Definition: ri.c:1025
list gen_extensions_cons(extensions, list)
Definition: ri.c:963
instruction copy_instruction(instruction)
INSTRUCTION.
Definition: ri.c:1115
bool forloop_consistent_p(forloop)
Definition: ri.c:998
bool controlmap_defined_p(controlmap)
Definition: ri.c:443
bool mode_consistent_p(mode)
Definition: ri.c:1316
storage check_storage(storage)
Definition: ri.c:2234
value make_value_intrinsic(void)
Definition: ri.c:2844
basic make_basic_pointer(type)
Definition: ri.c:179
predicate read_predicate(FILE *)
Definition: ri.c:1817
struct _newgen_struct_language_ * language
Definition: ri.h:215
list gen_callees_cons(callees, list)
Definition: ri.c:207
storage read_storage(FILE *)
Definition: ri.c:2261
whileloop make_whileloop(expression, statement, entity, evaluation)
Definition: ri.c:2937
language make_language_c(void)
Definition: ri.c:1253
syntax make_syntax_reference(reference)
Definition: ri.c:2494
void parameter_non_recursive_free(parameter)
Definition: ri.c:1485
void variable_non_recursive_free(variable)
Definition: ri.c:2885
void write_variable(FILE *, variable)
Definition: ri.c:2889
type make_type_unknown(void)
Definition: ri.c:2724
void multitest_assign_contents(multitest, multitest)
Definition: ri.c:1381
cast make_cast(type, expression)
Definition: ri.c:311
code check_code(code)
Definition: ri.c:323
instruction make_instruction_goto(statement)
Definition: ri.c:1181
bool dimension_defined_p(dimension)
Definition: ri.c:542
void synchronization_assign_contents(synchronization, synchronization)
Definition: ri.c:2394
list gen_predicate_cons(predicate, list)
Definition: ri.c:1800
entity_int make_entity_int(void)
Definition: ri.c:662
predicate make_predicate(Psysteme)
Definition: ri.c:1820
basic check_basic(basic)
Definition: ri.c:110
void free_syntax(syntax)
Definition: ri.c:2445
void normalized_non_recursive_free(normalized)
Definition: ri.c:1430
void write_test(FILE *, test)
Definition: ri.c:2601
void symbolic_assign_contents(symbolic, symbolic)
Definition: ri.c:2352
bool symbolic_consistent_p(symbolic)
Definition: ri.c:2342
void pragma_assign_contents(pragma, pragma)
Definition: ri.c:1748
void free_code(code)
Definition: ri.c:320
syntax make_syntax_va_arg(list)
Definition: ri.c:2515
void whileloop_assign_contents(whileloop, whileloop)
Definition: ri.c:2920
bool normalized_defined_p(normalized)
Definition: ri.c:1417
bool bound_entity_to_entity_p(entity_to_entity, entity)
Definition: ri.c:734
ram check_ram(ram)
Definition: ri.c:1969
statement delete_persistant_statement_to_statement(persistant_statement_to_statement, statement)
Definition: ri.c:1720
constant make_constant_litteral(void)
Definition: ri.c:418
void write_transformer(FILE *, transformer)
Definition: ri.c:2643
predicate copy_predicate(predicate)
PREDICATE.
Definition: ri.c:1784
void persistant_statement_to_control_assign_contents(persistant_statement_to_control, persistant_statement_to_control)
Definition: ri.c:1577
void entity_int_non_recursive_free(entity_int)
Definition: ri.c:652
bool loop_consistent_p(loop)
Definition: ri.c:1274
struct _newgen_struct_forloop_ * forloop
Definition: ri.h:183
list gen_functional_cons(functional, list)
Definition: ri.c:1089
void persistant_statement_to_statement_non_recursive_free(persistant_statement_to_statement)
Definition: ri.c:1698
void entity_assign_contents(entity, entity)
Definition: ri.c:2540
list gen_sequence_cons(sequence, list)
Definition: ri.c:2105
string normalized_tag_as_string(enum normalized_utype)
Definition: ri.c:1440
instruction check_instruction(instruction)
Definition: ri.c:1121
bool bound_persistant_statement_to_statement_p(persistant_statement_to_statement, statement)
Definition: ri.c:1723
bool qualifier_defined_p(qualifier)
Definition: ri.c:1881
bool control_consistent_p(control)
Definition: ri.c:496
void write_value(FILE *, value)
Definition: ri.c:2814
struct _newgen_struct_cast_ * cast
Definition: ri.h:71
void free_pragma(pragma)
Definition: ri.c:1732
void entity_to_entity_assign_contents(entity_to_entity, entity_to_entity)
Definition: ri.c:702
void mode_assign_contents(mode, mode)
Definition: ri.c:1326
list gen_subscript_cons(subscript, list)
Definition: ri.c:2307
symbolic read_symbolic(FILE *)
Definition: ri.c:2366
void call_non_recursive_free(call)
Definition: ri.c:259
void free_application(application)
Definition: ri.c:23
bool expression_defined_p(expression)
Definition: ri.c:863
void sizeofexpression_non_recursive_free(sizeofexpression)
Definition: ri.c:2157
language check_language(language)
Definition: ri.c:1208
void write_formal(FILE *, formal)
Definition: ri.c:1061
evaluation copy_evaluation(evaluation)
EVALUATION.
Definition: ri.c:740
syntax read_syntax(FILE *)
Definition: ri.c:2475
void syntax_assign_contents(syntax, syntax)
Definition: ri.c:2461
void qualifier_non_recursive_free(qualifier)
Definition: ri.c:1894
struct _newgen_struct_persistant_statement_to_cluster_ * persistant_statement_to_cluster
Definition: ri.h:263
void extend_controlmap(controlmap, statement, control)
Definition: ri.c:475
controlmap copy_controlmap(controlmap)
CONTROLMAP.
Definition: ri.c:430
void cast_assign_contents(cast, cast)
Definition: ri.c:294
constant make_constant_unknown(void)
Definition: ri.c:424
void call_assign_contents(call, call)
Definition: ri.c:252
string storage_tag_as_string(enum storage_utype)
Definition: ri.c:2264
normalized make_normalized_complex(void)
Definition: ri.c:1453
void extend_persistant_statement_to_statement(persistant_statement_to_statement, statement, statement)
Definition: ri.c:1717
list gen_cast_cons(cast, list)
Definition: ri.c:291
normalized check_normalized(normalized)
Definition: ri.c:1410
entity_int copy_entity_int(entity_int)
ENTITY_INT.
Definition: ri.c:626
execution check_execution(execution)
Definition: ri.c:801
list gen_instruction_cons(instruction, list)
Definition: ri.c:1131
struct _newgen_struct_application_ * application
Definition: ri.h:31
cast check_cast(cast)
Definition: ri.c:281
basic read_basic(FILE *)
Definition: ri.c:137
formal check_formal(formal)
Definition: ri.c:1037
void write_sequence(FILE *, sequence)
Definition: ri.c:2119
bool call_defined_p(call)
Definition: ri.c:246
struct _newgen_struct_entity_int_ * entity_int
Definition: ri.h:127
bool forloop_defined_p(forloop)
Definition: ri.c:1002
dimension make_dimension(expression, expression, list)
Definition: ri.c:565
bool pragma_consistent_p(pragma)
Definition: ri.c:1738
basic make_basic(enum basic_utype, void *)
Definition: ri.c:155
list gen_syntax_cons(syntax, list)
Definition: ri.c:2458
qualifier make_qualifier_auto(void)
Definition: ri.c:1936
dummy make_dummy_unknown(void)
Definition: ri.c:617
list gen_extension_cons(extension, list)
Definition: ri.c:908
execution_utype
Definition: ri.h:1188
@ is_execution_parallel
Definition: ri.h:1190
@ is_execution_sequential
Definition: ri.h:1189
synchronization make_synchronization_none(void)
Definition: ri.c:2424
basic make_basic_complex(intptr_t)
Definition: ri.c:170
statement read_statement(FILE *)
Definition: ri.c:2219
callees check_callees(callees)
Definition: ri.c:197
instruction make_instruction_expression(expression)
Definition: ri.c:1196
reference make_reference(entity, list)
Definition: ri.c:2083
struct _newgen_struct_transformer_ * transformer
Definition: ri.h:431
qualifier make_qualifier(enum qualifier_utype, void *)
Definition: ri.c:1921
storage make_storage_formal(formal)
Definition: ri.c:2282
syntax make_syntax_call(call)
Definition: ri.c:2500
void formal_non_recursive_free(formal)
Definition: ri.c:1057
syntax make_syntax_cast(cast)
Definition: ri.c:2503
bool preference_consistent_p(preference)
Definition: ri.c:1835
struct _newgen_struct_expression_ * expression
Definition: ri.h:159
list gen_code_cons(code, list)
Definition: ri.c:333
value make_value_reference(reference)
Definition: ri.c:2853
qualifier_utype
Definition: ri.h:2126
@ is_qualifier_volatile
Definition: ri.h:2129
@ is_qualifier_register
Definition: ri.h:2130
@ is_qualifier_constant
Definition: ri.h:2137
@ is_qualifier_restrict
Definition: ri.h:2128
@ is_qualifier_thread
Definition: ri.h:2132
@ is_qualifier_local
Definition: ri.h:2135
@ is_qualifier_const
Definition: ri.h:2127
@ is_qualifier_static_dimension
Definition: ri.h:2134
@ is_qualifier_auto
Definition: ri.h:2131
@ is_qualifier_private
Definition: ri.h:2138
@ is_qualifier_asm
Definition: ri.h:2133
@ is_qualifier_global
Definition: ri.h:2136
type_utype
Definition: ri.h:2897
@ is_type_varargs
Definition: ri.h:2902
@ is_type_void
Definition: ri.h:2904
@ is_type_enum
Definition: ri.h:2907
@ is_type_statement
Definition: ri.h:2898
@ is_type_functional
Definition: ri.h:2901
@ is_type_variable
Definition: ri.h:2900
@ is_type_union
Definition: ri.h:2906
@ is_type_area
Definition: ri.h:2899
@ is_type_unknown
Definition: ri.h:2903
@ is_type_struct
Definition: ri.h:2905
synchronization read_synchronization(FILE *)
Definition: ri.c:2408
bool syntax_consistent_p(syntax)
Definition: ri.c:2451
mode make_mode_value(void)
Definition: ri.c:1353
bool evaluation_consistent_p(evaluation)
Definition: ri.c:749
list gen_symbolic_cons(symbolic, list)
Definition: ri.c:2349
struct _newgen_struct_formal_ * formal
Definition: ri.h:191
void write_area(FILE *, area)
Definition: ri.c:92
storage make_storage_ram(ram)
Definition: ri.c:2279
language read_language(FILE *)
Definition: ri.c:1235
void free_variable(variable)
Definition: ri.c:2862
persistant_statement_to_int make_persistant_statement_to_int(void)
Definition: ri.c:1651
subscript make_subscript(expression, list)
Definition: ri.c:2327
list gen_control_cons(control, list)
Definition: ri.c:503
bool control_defined_p(control)
Definition: ri.c:500
void free_persistant_statement_to_int(persistant_statement_to_int)
Definition: ri.c:1618
qualifier make_qualifier_const(void)
Definition: ri.c:1924
void free_symbolic(symbolic)
Definition: ri.c:2336
execution make_execution_parallel(void)
Definition: ri.c:844
entity copy_entity(entity)
ENTITY.
Definition: ri.c:2521
bool entity_to_entity_consistent_p(entity_to_entity)
Definition: ri.c:692
void extensions_non_recursive_free(extensions)
Definition: ri.c:973
struct _newgen_struct_code_ * code
Definition: ri.h:79
control delete_persistant_statement_to_control(persistant_statement_to_control, statement)
Definition: ri.c:1606
basic make_basic_typedef(entity)
Definition: ri.c:185
list gen_persistant_statement_to_cluster_cons(persistant_statement_to_cluster, list)
Definition: ri.c:1517
mode read_mode(FILE *)
Definition: ri.c:1340
void sequence_assign_contents(sequence, sequence)
Definition: ri.c:2108
struct _newgen_struct_persistant_statement_to_int_ * persistant_statement_to_int
Definition: ri.h:279
void subscript_assign_contents(subscript, subscript)
Definition: ri.c:2310
struct _newgen_struct_storage_ * storage
Definition: ri.h:375
bool unstructured_defined_p(unstructured)
Definition: ri.c:2755
pragma make_pragma_string(string)
Definition: ri.c:1775
formal make_formal(entity, intptr_t)
Definition: ri.c:1067
syntax make_syntax_subscript(subscript)
Definition: ri.c:2509
transformer read_transformer(FILE *)
Definition: ri.c:2646
constant copy_constant(constant)
CONSTANT.
Definition: ri.c:359
struct _newgen_struct_entity_ * entity
Definition: ri.h:415
void entity_to_entity_non_recursive_free(entity_to_entity)
Definition: ri.c:709
preference copy_preference(preference)
PREFERENCE.
Definition: ri.c:1826
void reference_non_recursive_free(reference)
Definition: ri.c:2073
bool test_defined_p(test)
Definition: ri.c:2584
list gen_entity_to_entity_cons(entity_to_entity, list)
Definition: ri.c:699
void free_value(value)
Definition: ri.c:2787
bool type_consistent_p(type)
Definition: ri.c:2664
string value_tag_as_string(enum value_utype)
Definition: ri.c:2820
void whileloop_non_recursive_free(whileloop)
Definition: ri.c:2927
transformer make_transformer(list, predicate)
Definition: ri.c:2649
whileloop read_whileloop(FILE *)
Definition: ri.c:2934
application read_application(FILE *)
Definition: ri.c:53
call read_call(FILE *)
Definition: ri.c:266
evaluation make_evaluation_after(void)
Definition: ri.c:789
bool syntax_defined_p(syntax)
Definition: ri.c:2455
qualifier make_qualifier_global(void)
Definition: ri.c:1951
functional read_functional(FILE *)
Definition: ri.c:1106
evaluation make_evaluation(enum evaluation_utype, void *)
Definition: ri.c:783
bool range_defined_p(range)
Definition: ri.c:2018
extensions copy_extensions(extensions)
EXTENSIONS.
Definition: ri.c:947
transformer copy_transformer(transformer)
TRANSFORMER.
Definition: ri.c:2613
preference make_preference(reference)
Definition: ri.c:1862
void instruction_assign_contents(instruction, instruction)
Definition: ri.c:1134
bool entity_int_consistent_p(entity_int)
Definition: ri.c:635
void loop_non_recursive_free(loop)
Definition: ri.c:1291
bool loop_defined_p(loop)
Definition: ri.c:1278
bool expression_consistent_p(expression)
Definition: ri.c:859
struct _newgen_struct_synchronization_ * synchronization
Definition: ri.h:399
void mode_non_recursive_free(mode)
Definition: ri.c:1333
void multitest_non_recursive_free(multitest)
Definition: ri.c:1388
void language_non_recursive_free(language)
Definition: ri.c:1228
extension read_extension(FILE *)
Definition: ri.c:925
void instruction_non_recursive_free(instruction)
Definition: ri.c:1141
string type_tag_as_string(enum type_utype)
Definition: ri.c:2691
void free_ram(ram)
Definition: ri.c:1966
bool formal_defined_p(formal)
Definition: ri.c:1044
struct _newgen_struct_persistant_statement_to_control_ * persistant_statement_to_control
Definition: ri.h:271
void write_loop(FILE *, loop)
Definition: ri.c:1295
list gen_dimension_cons(dimension, list)
Definition: ri.c:545
bool parameter_consistent_p(parameter)
Definition: ri.c:1468
sizeofexpression make_sizeofexpression_type(type)
Definition: ri.c:2177
code copy_code(code)
CODE.
Definition: ri.c:317
struct _newgen_struct_sizeofexpression_ * sizeofexpression
Definition: ri.h:359
void normalized_assign_contents(normalized, normalized)
Definition: ri.c:1423
basic make_basic_derived(entity)
Definition: ri.c:182
struct _newgen_struct_extensions_ * extensions
Definition: ri.h:175
pragma make_pragma_expression(list)
Definition: ri.c:1778
void syntax_non_recursive_free(syntax)
Definition: ri.c:2468
formal copy_formal(formal)
FORMAL.
Definition: ri.c:1031
void free_predicate(predicate)
Definition: ri.c:1787
bool extensions_consistent_p(extensions)
Definition: ri.c:956
symbolic copy_symbolic(symbolic)
SYMBOLIC.
Definition: ri.c:2333
instruction make_instruction_sequence(sequence)
Definition: ri.c:1169
persistant_statement_to_statement copy_persistant_statement_to_statement(persistant_statement_to_statement)
PERSISTANT_STATEMENT_TO_STATEMENT.
Definition: ri.c:1672
struct _newgen_struct_ram_ * ram
Definition: ri.h:327
bool callees_consistent_p(callees)
Definition: ri.c:200
language_utype
Definition: ri.h:1565
@ is_language_fortran
Definition: ri.h:1566
@ is_language_fortran95
Definition: ri.h:1568
@ is_language_unknown
Definition: ri.h:1569
@ is_language_c
Definition: ri.h:1567
void constant_non_recursive_free(constant)
Definition: ri.c:385
variable make_variable(basic, list, list)
Definition: ri.c:2895
void test_assign_contents(test, test)
Definition: ri.c:2590
list gen_entity_int_cons(entity_int, list)
Definition: ri.c:642
list gen_transformer_cons(transformer, list)
Definition: ri.c:2629
instruction make_instruction(enum instruction_utype, void *)
Definition: ri.c:1166
type check_type(type)
Definition: ri.c:2661
struct _newgen_struct_dummy_ * dummy
Definition: ri.h:119
void free_controlmap(controlmap)
Definition: ri.c:433
void free_parameter(parameter)
Definition: ri.c:1462
void persistant_statement_to_cluster_non_recursive_free(persistant_statement_to_cluster)
Definition: ri.c:1527
string execution_tag_as_string(enum execution_utype)
Definition: ri.c:831
void write_reference(FILE *, reference)
Definition: ri.c:2077
void application_non_recursive_free(application)
Definition: ri.c:46
persistant_statement_to_statement check_persistant_statement_to_statement(persistant_statement_to_statement)
Definition: ri.c:1678
void free_entity_to_entity(entity_to_entity)
Definition: ri.c:686
range copy_range(range)
RANGE.
Definition: ri.c:2005
struct _newgen_struct_preference_ * preference
Definition: ri.h:311
void write_language(FILE *, language)
Definition: ri.c:1232
void predicate_non_recursive_free(predicate)
Definition: ri.c:1810
synchronization make_synchronization_barrier(void)
Definition: ri.c:2430
cast copy_cast(cast)
CAST.
Definition: ri.c:275
execution copy_execution(execution)
EXECUTION.
Definition: ri.c:795
instruction make_instruction_test(test)
Definition: ri.c:1172
preference read_preference(FILE *)
Definition: ri.c:1859
void storage_non_recursive_free(storage)
Definition: ri.c:2254
void free_execution(execution)
Definition: ri.c:798
bool persistant_statement_to_control_consistent_p(persistant_statement_to_control)
Definition: ri.c:1567
void free_dimension(dimension)
Definition: ri.c:532
bool subscript_defined_p(subscript)
Definition: ri.c:2304
control apply_persistant_statement_to_control(persistant_statement_to_control, statement)
Definition: ri.c:1597
normalized copy_normalized(normalized)
NORMALIZED.
Definition: ri.c:1404
void write_predicate(FILE *, predicate)
Definition: ri.c:1814
list gen_application_cons(application, list)
Definition: ri.c:36
unstructured copy_unstructured(unstructured)
UNSTRUCTURED.
Definition: ri.c:2742
normalized_utype
Definition: ri.h:1759
@ is_normalized_linear
Definition: ri.h:1760
@ is_normalized_complex
Definition: ri.h:1761
void preference_non_recursive_free(preference)
Definition: ri.c:1852
syntax make_syntax(enum syntax_utype, void *)
Definition: ri.c:2491
extension make_extension_unknown(void)
Definition: ri.c:941
multitest copy_multitest(multitest)
MULTITEST.
Definition: ri.c:1362
struct _newgen_struct_variable_ * variable
Definition: ri.h:463
void forloop_non_recursive_free(forloop)
Definition: ri.c:1015
instruction read_instruction(FILE *)
Definition: ri.c:1148
struct _newgen_struct_extension_ * extension
Definition: ri.h:167
area copy_area(area)
AREA.
Definition: ri.c:62
dummy copy_dummy(dummy)
DUMMY.
Definition: ri.c:571
synchronization make_synchronization_spawn(entity)
Definition: ri.c:2427
instruction make_instruction_unstructured(unstructured)
Definition: ri.c:1187
list gen_variable_cons(variable, list)
Definition: ri.c:2875
constant read_constant(FILE *)
Definition: ri.c:392
void transformer_non_recursive_free(transformer)
Definition: ri.c:2639
void extend_entity_int(entity_int, entity, intptr_t)
Definition: ri.c:671
bool dimension_consistent_p(dimension)
Definition: ri.c:538
void free_reference(reference)
Definition: ri.c:2050
#define intptr_t
Definition: stdint.in.h:294
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Definition: vecteur-local.h:89
list _application_arguments_
function:expression
Definition: ri.h:503
expression _application_function_
Definition: ri.h:502
intptr_t _area_size_
Definition: ri.h:538
list _area_layout_
size:int
Definition: ri.h:539
intptr_t _type_
Definition: ri.h:537
intptr_t _basic_logical_
float:int
Definition: ri.h:601
enum basic_utype _basic_tag__
Definition: ri.h:597
intptr_t _basic_complex_
overloaded:unit
Definition: ri.h:603
intptr_t _basic_float_
int:int
Definition: ri.h:600
entity _basic_typedef_
derived:entity
Definition: ri.h:608
intptr_t _type_
Definition: ri.h:596
symbolic _basic_bit_
string:value
Definition: ri.h:605
gen_chunk _basic_overloaded_
logical:int
Definition: ri.h:602
value _basic_string_
complex:int
Definition: ri.h:604
entity _basic_derived_
pointer:type
Definition: ri.h:607
union _newgen_struct_basic_::@61 _basic_union_
intptr_t _basic_int_
Definition: ri.h:599
type _basic_pointer_
bit:symbolic
Definition: ri.h:606
entity _call_function_
Definition: ri.h:703
intptr_t _type_
Definition: ri.h:702
list _call_arguments_
function:entity
Definition: ri.h:704
list _callees_holder_
Definition: ri.h:671
intptr_t _type_
Definition: ri.h:670
expression _cast_expression_
type:type
Definition: ri.h:740
intptr_t _type_
Definition: ri.h:738
type _cast_type_
Definition: ri.h:739
intptr_t _type_
Definition: ri.h:774
language _code_language_
externs:entity*
Definition: ri.h:779
string _code_decls_text_
declarations:entity*
Definition: ri.h:776
list _code_declarations_
Definition: ri.h:775
list _code_externs_
initializations:sequence
Definition: ri.h:778
sequence _code_initializations_
decls_text:string
Definition: ri.h:777
entity _constant_call_
litteral:unit
Definition: ri.h:841
intptr_t _constant_logical_
float:float
Definition: ri.h:839
union _newgen_struct_constant_::@62 _constant_union_
intptr_t _constant_int_
Definition: ri.h:837
enum constant_utype _constant_tag__
Definition: ri.h:835
intptr_t _type_
Definition: ri.h:834
gen_chunk _constant_litteral_
logical:int
Definition: ri.h:840
gen_chunk _constant_unknown_
call:entity
Definition: ri.h:842
gen_chunk _constant_float_
int:int
Definition: ri.h:838
list _control_successors_
predecessors:control*
Definition: ri.h:936
statement _control_statement_
Definition: ri.h:934
intptr_t _type_
Definition: ri.h:933
list _control_predecessors_
statement:statement
Definition: ri.h:935
hash_table _controlmap_holder_
Definition: ri.h:893
expression _dimension_upper_
lower:expression
Definition: ri.h:974
expression _dimension_lower_
Definition: ri.h:973
list _dimension_qualifiers_
upper:expression
Definition: ri.h:975
gen_chunk _dummy_unknown_
Definition: ri.h:1021
intptr_t _type_
Definition: ri.h:1018
union _newgen_struct_dummy_::@63 _dummy_union_
entity _dummy_identifier_
unknown:unit
Definition: ri.h:1022
enum dummy_utype _dummy_tag__
Definition: ri.h:1019
intptr_t _entity_index__
Definition: ri.h:2780
type _entity_type_
name:string
Definition: ri.h:2782
storage _entity_storage_
type:type
Definition: ri.h:2783
value _entity_initial_
storage:storage
Definition: ri.h:2784
intptr_t _entity_kind_
initial:value
Definition: ri.h:2785
intptr_t _type_
Definition: ri.h:2779
string _entity_name_
Definition: ri.h:2781
hash_table _entity_int_holder_
Definition: ri.h:1061
hash_table _entity_to_entity_holder_
Definition: ri.h:1102
enum evaluation_utype _evaluation_tag__
Definition: ri.h:1150
union _newgen_struct_evaluation_::@64 _evaluation_union_
gen_chunk _evaluation_before_
Definition: ri.h:1152
gen_chunk _evaluation_after_
before:unit
Definition: ri.h:1153
gen_chunk _execution_parallel_
sequential:unit
Definition: ri.h:1202
enum execution_utype _execution_tag__
Definition: ri.h:1199
union _newgen_struct_execution_::@65 _execution_union_
gen_chunk _execution_sequential_
Definition: ri.h:1201
normalized _expression_normalized_
syntax:syntax
Definition: ri.h:1242
syntax _expression_syntax_
Definition: ri.h:1241
enum extension_utype _extension_tag__
Definition: ri.h:1284
pragma _extension_pragma_
Definition: ri.h:1286
gen_chunk _extension_unknown_
pragma:pragma
Definition: ri.h:1287
union _newgen_struct_extension_::@66 _extension_union_
intptr_t _type_
Definition: ri.h:1357
statement _forloop_body_
increment:expression
Definition: ri.h:1361
expression _forloop_increment_
condition:expression
Definition: ri.h:1360
expression _forloop_initialization_
Definition: ri.h:1358
expression _forloop_condition_
initialization:expression
Definition: ri.h:1359
intptr_t _formal_offset_
function:entity
Definition: ri.h:1401
entity _formal_function_
Definition: ri.h:1400
intptr_t _type_
Definition: ri.h:1399
list _functional_parameters_
Definition: ri.h:1436
type _functional_result_
parameters:parameter*
Definition: ri.h:1437
call _instruction_call_
goto:statement
Definition: ri.h:1502
union _newgen_struct_instruction_::@67 _instruction_union_
multitest _instruction_multitest_
unstructured:unstructured
Definition: ri.h:1504
sequence _instruction_sequence_
Definition: ri.h:1497
test _instruction_test_
sequence:sequence
Definition: ri.h:1498
statement _instruction_goto_
whileloop:whileloop
Definition: ri.h:1501
whileloop _instruction_whileloop_
loop:loop
Definition: ri.h:1500
loop _instruction_loop_
test:test
Definition: ri.h:1499
enum instruction_utype _instruction_tag__
Definition: ri.h:1495
unstructured _instruction_unstructured_
call:call
Definition: ri.h:1503
expression _instruction_expression_
forloop:forloop
Definition: ri.h:1506
forloop _instruction_forloop_
multitest:multitest
Definition: ri.h:1505
gen_chunk _language_fortran_
Definition: ri.h:1582
gen_chunk _language_unknown_
fortran95:unit
Definition: ri.h:1585
gen_chunk _language_c_
fortran:unit
Definition: ri.h:1583
union _newgen_struct_language_::@68 _language_union_
gen_chunk _language_fortran95_
c:unit
Definition: ri.h:1584
enum language_utype _language_tag__
Definition: ri.h:1580
entity _loop_index_
Definition: ri.h:1630
list _loop_locals_
execution:execution
Definition: ri.h:1635
statement _loop_body_
range:range
Definition: ri.h:1632
entity _loop_label_
body:statement
Definition: ri.h:1633
range _loop_range_
index:entity
Definition: ri.h:1631
execution _loop_execution_
label:entity
Definition: ri.h:1634
intptr_t _type_
Definition: ri.h:1629
gen_chunk _mode_reference_
value:unit
Definition: ri.h:1688
enum mode_utype _mode_tag__
Definition: ri.h:1685
union _newgen_struct_mode_::@69 _mode_union_
gen_chunk _mode_value_
Definition: ri.h:1687
intptr_t _type_
Definition: ri.h:1684
statement _multitest_body_
controller:expression
Definition: ri.h:1728
expression _multitest_controller_
Definition: ri.h:1727
enum normalized_utype _normalized_tag__
Definition: ri.h:1770
union _newgen_struct_normalized_::@70 _normalized_union_
Pvecteur _normalized_linear_
Definition: ri.h:1772
gen_chunk _normalized_complex_
linear:Pvecteur
Definition: ri.h:1773
dummy _parameter_dummy_
mode:mode
Definition: ri.h:1814
mode _parameter_mode_
type:type
Definition: ri.h:1813
enum pragma_utype _pragma_tag__
Definition: ri.h:2022
string _pragma_string_
Definition: ri.h:2024
list _pragma_expression_
string:string
Definition: ri.h:2025
intptr_t _type_
Definition: ri.h:2021
union _newgen_struct_pragma_::@71 _pragma_union_
Psysteme _predicate_system_
Definition: ri.h:2064
reference _preference_reference_
Definition: ri.h:2097
gen_chunk _qualifier_const_
Definition: ri.h:2159
gen_chunk _qualifier_thread_
auto:unit
Definition: ri.h:2164
gen_chunk _qualifier_private_
constant:unit
Definition: ri.h:2170
string _qualifier_asm_
thread:unit
Definition: ri.h:2165
gen_chunk _qualifier_global_
local:unit
Definition: ri.h:2168
gen_chunk _qualifier_register_
volatile:unit
Definition: ri.h:2162
enum qualifier_utype _qualifier_tag__
Definition: ri.h:2157
gen_chunk _qualifier_static_dimension_
asm:string
Definition: ri.h:2166
gen_chunk _qualifier_volatile_
restrict:unit
Definition: ri.h:2161
gen_chunk _qualifier_local_
static_dimension:unit
Definition: ri.h:2167
union _newgen_struct_qualifier_::@72 _qualifier_union_
gen_chunk _qualifier_auto_
register:unit
Definition: ri.h:2163
gen_chunk _qualifier_constant_
global:unit
Definition: ri.h:2169
gen_chunk _qualifier_restrict_
const:unit
Definition: ri.h:2160
intptr_t _type_
Definition: ri.h:2238
intptr_t _ram_offset_
section:entity
Definition: ri.h:2241
list _ram_shared_
offset:int
Definition: ri.h:2242
entity _ram_function_
Definition: ri.h:2239
entity _ram_section_
function:entity
Definition: ri.h:2240
expression _range_increment_
upper:expression
Definition: ri.h:2283
expression _range_lower_
Definition: ri.h:2281
intptr_t _type_
Definition: ri.h:2280
expression _range_upper_
lower:expression
Definition: ri.h:2282
list _reference_indices_
variable:entity
Definition: ri.h:2321
entity _reference_variable_
Definition: ri.h:2320
expression _sizeofexpression_expression_
type:type
Definition: ri.h:2398
enum sizeofexpression_utype _sizeofexpression_tag__
Definition: ri.h:2395
union _newgen_struct_sizeofexpression_::@73 _sizeofexpression_union_
instruction _statement_instruction_
comments:string
Definition: ri.h:2441
string _statement_decls_text_
declarations:entity*
Definition: ri.h:2443
intptr_t _statement_ordering_
number:int
Definition: ri.h:2439
string _statement_comments_
ordering:int
Definition: ri.h:2440
intptr_t _statement_number_
label:entity
Definition: ri.h:2438
entity _statement_label_
Definition: ri.h:2437
list _statement_declarations_
instruction:instruction
Definition: ri.h:2442
synchronization _statement_synchronization_
extensions:extensions
Definition: ri.h:2445
extensions _statement_extensions_
decls_text:string
Definition: ri.h:2444
entity _storage_return_
Definition: ri.h:2507
formal _storage_formal_
ram:ram
Definition: ri.h:2509
union _newgen_struct_storage_::@74 _storage_union_
enum storage_utype _storage_tag__
Definition: ri.h:2505
gen_chunk _storage_rom_
formal:formal
Definition: ri.h:2510
ram _storage_ram_
return:entity
Definition: ri.h:2508
intptr_t _type_
Definition: ri.h:2504
expression _subscript_array_
Definition: ri.h:2555
list _subscript_indices_
array:expression
Definition: ri.h:2556
constant _symbolic_constant_
expression:expression
Definition: ri.h:2592
expression _symbolic_expression_
Definition: ri.h:2591
gen_chunk _synchronization_none_
Definition: ri.h:2642
gen_chunk _synchronization_barrier_
spawn:entity
Definition: ri.h:2644
gen_chunk _synchronization_single_
barrier:unit
Definition: ri.h:2645
union _newgen_struct_synchronization_::@75 _synchronization_union_
reference _synchronization_critical_
single:bool
Definition: ri.h:2646
entity _synchronization_spawn_
none:unit
Definition: ri.h:2643
enum synchronization_utype _synchronization_tag__
Definition: ri.h:2640
union _newgen_struct_syntax_::@76 _syntax_union_
sizeofexpression _syntax_sizeofexpression_
cast:cast
Definition: ri.h:2719
subscript _syntax_subscript_
sizeofexpression:sizeofexpression
Definition: ri.h:2720
reference _syntax_reference_
Definition: ri.h:2715
enum syntax_utype _syntax_tag__
Definition: ri.h:2713
cast _syntax_cast_
call:call
Definition: ri.h:2718
application _syntax_application_
subscript:subscript
Definition: ri.h:2721
intptr_t _type_
Definition: ri.h:2712
list _syntax_va_arg_
application:application
Definition: ri.h:2722
call _syntax_call_
range:range
Definition: ri.h:2717
range _syntax_range_
reference:reference
Definition: ri.h:2716
intptr_t _type_
Definition: ri.h:2825
expression _test_condition_
Definition: ri.h:2826
statement _test_true_
condition:expression
Definition: ri.h:2827
statement _test_false_
true:statement
Definition: ri.h:2828
predicate _transformer_relation_
arguments:entity*
Definition: ri.h:2866
list _type_void_
unknown:unit
Definition: ri.h:2932
type _type_varargs_
functional:functional
Definition: ri.h:2930
list _type_struct_
void:qualifier*
Definition: ri.h:2933
list _type_enum_
union:entity*
Definition: ri.h:2935
functional _type_functional_
variable:variable
Definition: ri.h:2929
enum type_utype _type_tag__
Definition: ri.h:2924
list _type_union_
struct:entity*
Definition: ri.h:2934
variable _type_variable_
area:area
Definition: ri.h:2928
gen_chunk _type_statement_
Definition: ri.h:2926
gen_chunk _type_unknown_
varargs:type
Definition: ri.h:2931
intptr_t _type_
Definition: ri.h:2923
area _type_area_
statement:unit
Definition: ri.h:2927
control _unstructured_exit_
entry:control
Definition: ri.h:2999
control _unstructured_entry_
Definition: ri.h:2998
enum value_utype _value_tag__
Definition: ri.h:3051
gen_chunk _value_unknown_
intrinsic:unit
Definition: ri.h:3057
reference _value_reference_
expression:expression
Definition: ri.h:3059
constant _value_constant_
symbolic:symbolic
Definition: ri.h:3055
symbolic _value_symbolic_
code:code
Definition: ri.h:3054
union _newgen_struct_value_::@78 _value_union_
intptr_t _type_
Definition: ri.h:3050
gen_chunk _value_intrinsic_
constant:constant
Definition: ri.h:3056
expression _value_expression_
unknown:unit
Definition: ri.h:3058
list _variable_dimensions_
basic:basic
Definition: ri.h:3114
basic _variable_basic_
Definition: ri.h:3113
list _variable_qualifiers_
dimensions:dimension*
Definition: ri.h:3115
expression _whileloop_condition_
Definition: ri.h:3152
evaluation _whileloop_evaluation_
label:entity
Definition: ri.h:3155
statement _whileloop_body_
condition:expression
Definition: ri.h:3153
entity _whileloop_label_
body:statement
Definition: ri.h:3154
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