PIPS
cloning.h
Go to the documentation of this file.
1 #ifndef _newgen_cloning_included
2 #define _newgen_cloning_included
3 #define _gen_cloning_start 169
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_entity_domain_defined_)
11 #define _newgen_entity_domain_defined_
12 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
13 #define entity_NEWGEN_DOMAIN (entity_domain)
14 typedef struct _newgen_struct_entity_ * entity;
15 #endif /* _newgen_entity_domain_defined_ */
16 
17 #if !defined(_newgen_statement_domain_defined_)
18 #define _newgen_statement_domain_defined_
19 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
20 #define statement_NEWGEN_DOMAIN (statement_domain)
22 #endif /* _newgen_statement_domain_defined_ */
23 
24 #define clone_context_domain (_gen_cloning_start+0)
25 #if !defined(_newgen_clone_context_domain_defined_)
26 #define _newgen_clone_context_domain_defined_
27 #define CLONE_CONTEXT_NEWGEN_DOMAIN (clone_context_domain)
28 #define clone_context_NEWGEN_DOMAIN (clone_context_domain)
30 #endif /* _newgen_clone_context_domain_defined_ */
31 
32 /* CLONE_CONTEXT
33  */
34 #define CLONE_CONTEXT(x) ((clone_context)((x).p))
35 #define clone_context_CAST(x) CLONE_CONTEXT(x)
36 #define CLONE_CONTEXT_CAST(x) CLONE_CONTEXT(x)
37 #define CLONE_CONTEXT_(x) ((x).e)
38 #define CLONE_CONTEXT_TYPE clone_context
39 #define clone_context_TYPE clone_context
40 #define clone_context_undefined ((clone_context)gen_chunk_undefined)
41 #define clone_context_undefined_p(x) ((x)==clone_context_undefined)
42 
48 #define gen_CLONE_CONTEXT_cons gen_clone_context_cons
52 extern void write_clone_context(FILE*, clone_context);
53 extern clone_context read_clone_context(FILE*);
55 
58  entity _clone_context_previous_module_; /* previous_module:entity */
59  entity _clone_context_new_module_; /* new_module:entity */
60  list _clone_context_labels_; /* labels:entity* */
61  statement _clone_context_new_module_statement_; /* new_module_statement:statement */
62 };
63 
64 #define clone_context_domain_number(x) ((x)->_type_)
65 #define clone_context_previous_module_(x) clone_context_previous_module(x) /* old hack compatible */
66 #define clone_context_previous_module(x) ((x)->_clone_context_previous_module_)
67 #define clone_context_new_module_(x) clone_context_new_module(x) /* old hack compatible */
68 #define clone_context_new_module(x) ((x)->_clone_context_new_module_)
69 #define clone_context_labels_(x) clone_context_labels(x) /* old hack compatible */
70 #define clone_context_labels(x) ((x)->_clone_context_labels_)
71 #define clone_context_new_module_statement_(x) clone_context_new_module_statement(x) /* old hack compatible */
72 #define clone_context_new_module_statement(x) ((x)->_clone_context_new_module_statement_)
73 
74 #define cloning_spec "\
75 --NEWGEN-START 169\n\
76 import entity from \"ri.newgen\";\n\
77 import statement from \"ri.newgen\";\n\
78 clone_context = previous_module:entity x new_module:entity x labels:entity* x persistant new_module_statement:statement;\n\
79 "
80 #endif
clone_context read_clone_context(FILE *)
Definition: cloning.c:49
void free_clone_context(clone_context)
Definition: cloning.c:19
struct _newgen_struct_statement_ * statement
Definition: cloning.h:21
bool clone_context_defined_p(clone_context)
Definition: cloning.c:29
void write_clone_context(FILE *, clone_context)
Definition: cloning.c:46
clone_context copy_clone_context(clone_context)
CLONE_CONTEXT.
Definition: cloning.c:16
clone_context make_clone_context(entity, entity, list, statement)
Definition: cloning.c:52
clone_context check_clone_context(clone_context)
Definition: cloning.c:22
void clone_context_assign_contents(clone_context, clone_context)
Definition: cloning.c:35
bool clone_context_consistent_p(clone_context)
Definition: cloning.c:25
void clone_context_non_recursive_free(clone_context)
Definition: cloning.c:42
struct _newgen_struct_clone_context_ * clone_context
Definition: cloning.h:29
struct _newgen_struct_entity_ * entity
Definition: cloning.h:14
list gen_clone_context_cons(clone_context, list)
Definition: cloning.c:32
#define intptr_t
Definition: stdint.in.h:294
list _clone_context_labels_
new_module:entity
Definition: cloning.h:60
entity _clone_context_previous_module_
Definition: cloning.h:58
entity _clone_context_new_module_
previous_module:entity
Definition: cloning.h:59
statement _clone_context_new_module_statement_
labels:entity*
Definition: cloning.h:61
The structure used to build lists in NewGen.
Definition: newgen_list.h:41