Wild Life: def_struct.h Source File

Wild Life 2.29

- Main Page
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Macros
def_struct.h
Go to the documentation of this file.
1 // from c_life.h
2
3 /* Type for psi-terms, hidden from users */
4 typedef void *PsiTerm;
5
6
7 // from extern.h
8
9
10 /******************************* TYPES ************************************/
11
12 /* GENERIC is the type of a pointer to any type. This might not work on */
13 /* some machines, but it should be possible as MALLOC() uses something of */
14 /* that kind. ANSI uses "void *" instead. */
15
16
17 typedef unsigned long* GENERIC;
18 // typedef unsigned long* GENERIC;
19 // typedef void * GENERIC;
20 typedef int operator;
21 typedef long goals;
22
23 #ifdef X11
24 typedef long Action;
25 #endif
26
27 typedef char string[STRLEN];
28 typedef struct wl_operator_data * ptr_operator_data;
29 typedef struct wl_int_list * ptr_int_list;
30 typedef struct wl_resid_list * ptr_resid_list; /* 21.9 */
31 typedef struct wl_definition * ptr_definition;
32 typedef struct wl_definition * def_type;
33 typedef struct wl_residuation * ptr_residuation;
34 typedef struct wl_psi_term * ptr_psi_term;
35 typedef struct wl_node * ptr_node;
36 typedef struct wl_pair_list * ptr_pair_list;
37 typedef struct wl_triple_list * ptr_triple_list;
38 typedef struct wl_list * ptr_list;
39 typedef struct wl_stack * ptr_stack;
40 typedef struct wl_goal * ptr_goal;
41 typedef struct wl_choice_point * ptr_choice_point;
42
43 /****************************** DATA STRUCTURES **************************/
44
45
46 typedef struct wl_operator_data {
47 operator type;
48 long precedence;
49 ptr_operator_data next;
50 } operator_data;
51
52 /* List of integers or pointers */
53 typedef struct wl_int_list {
54 GENERIC value_1;
55 ptr_int_list next;
56 } int_list;
57
58 /* List of residuation variables */ /* 21.9 */
59 typedef struct wl_resid_list {
60 ptr_psi_term var;
61 ptr_psi_term othervar; /* needed for its sort only */
62 ptr_resid_list next;
63 } resid_list;
64
65
66
67
68 typedef struct wl_hash_table * ptr_hash_table;
69
70
71 /************ MODULES **************/
72 /* RM: Jan 7 1993 */
73
74 struct wl_module {
75 char *module_name;
76 char *source_file;
77 ptr_int_list open_modules;
78 ptr_int_list inherited_modules;
79 ptr_hash_table symbol_table;
80 };
81
82
83 typedef struct wl_module * ptr_module;
84
85 extern ptr_node module_table; /* The table of modules */
86 extern ptr_module current_module; /* The current module for the tokenizer */
87
88
89 struct wl_keyword {
90 ptr_module module;
91 char *symbol;
92 char *combined_name; /* module#symbol */
93 // next 2 were int in 2.20 DJD
94 int public;
95 int private_feature; /* RM: Mar 11 1993 */
96 ptr_definition definition;
97 };
98
99 typedef struct wl_keyword * ptr_keyword;
100
101 /********* END MODULES *************/
102
103
104
105 /************ HASH CODED SYMBOL TABLE **************/
106 /* RM: Feb 3 1993 */
107
108
109 /* Hash tables for keywords */
110
111 struct wl_hash_table {
112 int size;
113 int used;
114 ptr_keyword *data;
115 };
116
117
118 /****************************/
119 /* Definition of a keyword. */
120 /* This includes the rules associated to the symbol and how old they are. */
121 typedef struct wl_definition {
122 long date;
123
124 ptr_keyword keyword; /* RM: Jan 11 1993 */
125
126 ptr_pair_list rule;
127 ptr_triple_list properties;
128
129 ptr_int_list code;
130 ptr_int_list parents;
131 ptr_int_list children;
132
133 def_type type_def;
134 char always_check; /* TRUE by default */
135 char protected; /* TRUE by default */
136 char evaluate_args; /* TRUE by default */
137 char already_loaded; /* Cleared at the prompt, set upon loading */
138
139 ptr_operator_data op_data;
140
141 ptr_psi_term global_value; /* RM: Feb 8 1993 */
142 ptr_psi_term init_value; /* RM: Mar 23 1993 */
143
144 #ifdef CLIFE
145 ptr_block_definition block_def; /* AA: Mar 10 1993 */
146 #endif /* CLIFE */
147
148 ptr_definition next;
149 } definition;
150
151 /* 22.9 */
152 typedef struct wl_residuation {
153 long sortflag; /* bestsort == if TRUE ptr_definition else ptr_int_list */
154 GENERIC bestsort; /* 21.9 */
155 GENERIC value_2; /* to handle psi-terms with a value field 6.10 */
156 ptr_goal goal;
157 ptr_residuation next;
158 } residuation;
159
160 /* PSI_TERM */
161 typedef struct wl_psi_term {
162 #ifdef TS
163 unsigned long time_stamp; /* Avoid multiple trailing on a choice point. 9.6 */
164 #endif
165 ptr_definition type;
166 long status; /* Indicates whether the properties of the type have been */
167 /* checked or the function evaluated */
168 /* long curried; Distinguish between quoted and curried object 20.5 */
169 long flags; /* 14.9 */
170 GENERIC value_3;
171 ptr_node attr_list;
172 ptr_psi_term coref;
173 ptr_residuation resid; /* List of goals to prove if type is narrowed. */
174 } psi_term;
175
176 /* Binary tree node. */
177 /* KEY can be either an integer (a pointer) or a pointer to a string. */
178 /* DATA is the information accessed under the KEY, in most cases a pointer */
179 /* to a PSI-TERM. */
180
181 typedef struct wl_node {
182 char *key;
183 ptr_node left;
184 ptr_node right;
185 GENERIC data;
186 } node;
187
188 typedef struct wl_pair_list {
189 ptr_psi_term aaaa_2;
190 ptr_psi_term bbbb_2;
191 ptr_pair_list next;
192 } pair_list;
193
194 /* Used for type properties */
195 typedef struct wl_triple_list {
196 ptr_psi_term aaaa_4; /* Attributes */
197 ptr_psi_term bbbb_4; /* Constralong */
198 ptr_definition cccc_4; /* Original type of attribute & constralong */
199 ptr_triple_list next;
200 } triple_list;
201
202 /* RM: Dec 15 1992 Away goes the old list structure!!
203 typedef struct wl_list {
204 ptr_psi_term car;
205 ptr_psi_term cdr;
206 } list;
207 */
208
209
210 #ifdef CLIFE
211 #include "blockstruct.h"
212 #endif /* CLIFE */
213
214
215 typedef struct wl_stack {
216 type_ptr type;
217 GENERIC *aaaa_3; // was GENERIC
218 GENERIC *bbbb_3; // was GENERIC
219 ptr_stack next;
220 } stack;
221
222 typedef struct wl_goal {
223 goals type;
224 ptr_psi_term aaaa_1;
225 ptr_psi_term bbbb_1;
226 GENERIC cccc_1;
227 ptr_goal next;
228 ptr_definition pending;
229 } goal;
230
231 typedef struct wl_choice_point {
232 unsigned long time_stamp;
233 ptr_stack undo_point;
234 ptr_goal goal_stack;
235 ptr_choice_point next;
236 GENERIC stack_top;
237 } choice_point;
238
239 // from lefun.h
240
241
242 /* Residuation block state handling */
243
244 typedef struct wl_resid_block *ptr_resid_block;
245
246 typedef struct wl_resid_block {
247 long cc_cr; /* 11.9 */
248 ptr_goal ra;
249 /* long cc; 11.9 */
250 /* long cr; 11.9 */
251 ptr_resid_list rv; /* 21.9 */
252 ptr_psi_term md;
253 } resid_block;
254
255 // from list.h
256
257
258 typedef void * Ref;
259 typedef struct wl_ListLinks * RefListLinks;
260 typedef struct wl_ListHeader * RefListHeader;
261 typedef RefListLinks (*RefListGetLinksProc) ( );
262 typedef int (*RefListEnumProc) ( );
263
264
265
266 /*
267 "First", "Last" are pointers to the first and last element of the list
268 respectively.
269
270 "Current" points to the current processed element of the list. Used when
271 applying a function to each element of the list.
272
273 "GetLinks" is a function to get the list links on the object.
274
275 "Lock" is the number of recursive enum calls on the list. Used only in
276 debugging mode.
277 */
278
279
280 typedef struct wl_ListHeader
281 {
282 Ref First, Last;
283
284 #ifdef prlDEBUG
285 Int32 Lock;
286 #endif
287
288 RefListGetLinksProc GetLinks;
289 } ListHeader;
290
291
292
293 typedef struct wl_ListLinks
294 {
295 Ref Next, Prev;
296 } ListLinks;
297
298
299 // from print.h
300
301 typedef struct wl_tab_brk * ptr_tab_brk;
302 typedef struct wl_item * ptr_item;
303
304 typedef struct wl_tab_brk {
305 long column;
306 long broken;
307 long printed;
308 } tab_brk;
309
310 typedef struct wl_item {
311 char *str;
312 ptr_tab_brk tab;
313 } item;
314
315
316 // from sys.h
317
318 /********************************************************************
319 When calling a primitive, you always need to process the arguments
320 according to the same protocol. The call_primitive procedure does
321 all this work for you. It should be called as follows:
322
323 call_primitive(f,n,args,info)
324
325 where f is the primitive implementing the actual functionality, n
326 is the number of arguments described in args, and args is an array
327 of argument descriptions, and info is a pointer to extra info to be
328 passed to f. Each argument is described by a psi_arg structure
329 whose 1st field is a string naming the feature, 2nd field is a type
330 restriction, and 3rd field describes processing options, e.g.:
331
332 { "1" , quoted_string , REQUIRED }
333
334 describes a required argument on feature 1, that must be a string.
335 The 3rd field is a mask of boolean flags and is constructed by
336 ORing some constants chosen from the set:
337
338 OPTIONAL for an optional argument
339 REQUIRED for a required argument (i.e. residuate on it if not
340 present
341 UNEVALED if the argument should not be evaluated
342 JUSTFAIL to just fail is the argument does not meet its type
343 restriction
344 POLYTYPE sometimes you want to permit several particular sorts
345 in that case the 2nd psi_arg field is interpreted as
346 a pointer to a NULL terminated array of ptr_definitions
347 MANDATORY like REQUIRED, but it is an error for it not to be
348 present; don't residuate. This is useful for
349 predicates since it doesn't make sense for them to
350 residuate.
351 NOVALUE no value required for this argument.
352
353 The primitive must be defined to take the following arguments
354 f(argl,result,funct[,info])
355 where argl is an array containing the arguments obtained by call_
356 primitive, result is the result in case we are implementing a
357 function, and info (optional) is extra information, typically a
358 pointer to a structure.
359 *******************************************************************/
360
361
362 typedef struct {
363 char *feature;
364 ptr_definition type;
365 unsigned int options;
366 } psi_arg;
367
368 // from token.h
369
370
371 typedef struct wl_parse_block {
372 long lc;
373 long sol;
374 long sc;
375 long osc;
376 ptr_psi_term spt;
377 ptr_psi_term ospt;
378 long ef;
379 } parse_block;
380
381 typedef struct wl_parse_block *ptr_parse_block;
382
383 // from copy.c
384 struct hashbucket {
385 ptr_psi_term old_value;
386 ptr_psi_term new_value;
387 long info;
388 long next;
389 };
390
391 struct hashentry {
392 long timestamp;
393 long bucketindex;
394 };
395
396 #define TEXTBUFSIZE 5000
397
398 struct text_buffer {
399 struct text_buffer *next;
400 int top;
401 char data[TEXTBUFSIZE];
402 };
tab_brk
struct wl_tab_brk tab_brk
wl_hash_table::data
ptr_keyword * data
Definition: def_struct.h:114
wl_goal::aaaa_1
ptr_psi_term aaaa_1
Definition: def_struct.h:224
wl_pair_list::aaaa_2
ptr_psi_term aaaa_2
Definition: def_struct.h:189
wl_psi_term::resid
ptr_residuation resid
Definition: def_struct.h:173
ptr_node
struct wl_node * ptr_node
Definition: def_struct.h:35
choice_point
struct wl_choice_point choice_point
wl_definition::already_loaded
char already_loaded
Definition: def_struct.h:137
wl_operator_data::precedence
long precedence
Definition: def_struct.h:48
ptr_resid_block
struct wl_resid_block * ptr_resid_block
Definition: def_struct.h:244
wl_definition::init_value
ptr_psi_term init_value
Definition: def_struct.h:142
wl_parse_block::ospt
ptr_psi_term ospt
Definition: def_struct.h:377
def_type
struct wl_definition * def_type
Definition: def_struct.h:32
wl_definition::evaluate_args
char evaluate_args
Definition: def_struct.h:136
wl_item
Definition: def_struct.h:310
wl_choice_point
Definition: def_struct.h:231
wl_tab_brk::printed
long printed
Definition: def_struct.h:307
wl_hash_table
Definition: def_struct.h:111
wl_keyword::combined_name
char * combined_name
Definition: def_struct.h:92
int_list
struct wl_int_list int_list
text_buffer::data
char data[TEXTBUFSIZE]
Definition: def_struct.h:401
ptr_resid_list
struct wl_resid_list * ptr_resid_list
Definition: def_struct.h:30
wl_operator_data
Definition: def_struct.h:46
operator_data
struct wl_operator_data operator_data
wl_parse_block::sol
long sol
Definition: def_struct.h:373
wl_residuation::goal
ptr_goal goal
Definition: def_struct.h:156
item
struct wl_item item
wl_goal
Definition: def_struct.h:222
resid_block
struct wl_resid_block resid_block
ListHeader
struct wl_ListHeader ListHeader
wl_residuation::next
ptr_residuation next
Definition: def_struct.h:157
wl_pair_list::next
ptr_pair_list next
Definition: def_struct.h:191
psi_arg::options
unsigned int options
Definition: def_struct.h:365
wl_stack::bbbb_3
GENERIC * bbbb_3
Definition: def_struct.h:218
wl_goal::cccc_1
GENERIC cccc_1
Definition: def_struct.h:226
wl_module::inherited_modules
ptr_int_list inherited_modules
Definition: def_struct.h:78
wl_operator_data::next
ptr_operator_data next
Definition: def_struct.h:49
wl_module
Definition: def_struct.h:74
wl_tab_brk::column
long column
Definition: def_struct.h:305
wl_keyword::definition
ptr_definition definition
Definition: def_struct.h:96
wl_choice_point::undo_point
ptr_stack undo_point
Definition: def_struct.h:233
wl_hash_table::size
int size
Definition: def_struct.h:112
wl_definition::type_def
def_type type_def
Definition: def_struct.h:133
text_buffer
Definition: def_struct.h:398
wl_psi_term
Definition: def_struct.h:161
wl_stack
Definition: def_struct.h:215
wl_triple_list
Definition: def_struct.h:195
wl_resid_list::next
ptr_resid_list next
Definition: def_struct.h:62
wl_item::tab
ptr_tab_brk tab
Definition: def_struct.h:312
wl_parse_block::osc
long osc
Definition: def_struct.h:375
wl_ListHeader::GetLinks
RefListGetLinksProc GetLinks
Definition: def_struct.h:288
wl_choice_point::stack_top
GENERIC stack_top
Definition: def_struct.h:236
wl_resid_block::ra
ptr_goal ra
Definition: def_struct.h:248
wl_residuation
Definition: def_struct.h:152
wl_module::symbol_table
ptr_hash_table symbol_table
Definition: def_struct.h:79
wl_definition::keyword
ptr_keyword keyword
Definition: def_struct.h:124
wl_pair_list
Definition: def_struct.h:188
wl_item::str
char * str
Definition: def_struct.h:311
ptr_tab_brk
struct wl_tab_brk * ptr_tab_brk
Definition: def_struct.h:301
psi_term
struct wl_psi_term psi_term
wl_resid_block::cc_cr
long cc_cr
Definition: def_struct.h:247
wl_node::data
GENERIC data
Definition: def_struct.h:185
goal
struct wl_goal goal
hashbucket::old_value
ptr_psi_term old_value
Definition: def_struct.h:385
wl_ListLinks::Next
Ref Next
Definition: def_struct.h:295
wl_keyword::symbol
char * symbol
Definition: def_struct.h:91
ptr_hash_table
struct wl_hash_table * ptr_hash_table
Definition: def_struct.h:68
wl_choice_point::time_stamp
unsigned long time_stamp
Definition: def_struct.h:232
wl_choice_point::next
ptr_choice_point next
Definition: def_struct.h:235
wl_triple_list::next
ptr_triple_list next
Definition: def_struct.h:199
psi_arg
Definition: def_struct.h:362
wl_triple_list::cccc_4
ptr_definition cccc_4
Definition: def_struct.h:198
wl_ListLinks::Prev
Ref Prev
Definition: def_struct.h:295
ptr_list
struct wl_list * ptr_list
Definition: def_struct.h:38
wl_definition::always_check
char always_check
Definition: def_struct.h:134
wl_residuation::sortflag
long sortflag
Definition: def_struct.h:153
wl_node::left
ptr_node left
Definition: def_struct.h:183
wl_ListLinks
Definition: def_struct.h:293
hashbucket::new_value
ptr_psi_term new_value
Definition: def_struct.h:386
wl_int_list
Definition: def_struct.h:53
ptr_module
struct wl_module * ptr_module
Definition: def_struct.h:83
PsiTerm
void * PsiTerm
Definition: def_struct.h:4
hashbucket::next
long next
Definition: def_struct.h:388
wl_definition::next
ptr_definition next
Definition: def_struct.h:148
RefListGetLinksProc
RefListLinks(* RefListGetLinksProc)()
Definition: def_struct.h:261
text_buffer::top
int top
Definition: def_struct.h:400
wl_parse_block::lc
long lc
Definition: def_struct.h:372
ptr_triple_list
struct wl_triple_list * ptr_triple_list
Definition: def_struct.h:37
wl_parse_block::ef
long ef
Definition: def_struct.h:378
wl_goal::type
goals type
Definition: def_struct.h:223
wl_tab_brk
Definition: def_struct.h:304
wl_stack::type
type_ptr type
Definition: def_struct.h:216
TEXTBUFSIZE
#define TEXTBUFSIZE
Definition: def_struct.h:396
psi_arg::type
ptr_definition type
Definition: def_struct.h:364
wl_node::key
char * key
Definition: def_struct.h:182
wl_parse_block
Definition: def_struct.h:371
wl_tab_brk::broken
long broken
Definition: def_struct.h:306
wl_parse_block::sc
long sc
Definition: def_struct.h:374
wl_resid_block::md
ptr_psi_term md
Definition: def_struct.h:252
ptr_choice_point
struct wl_choice_point * ptr_choice_point
Definition: def_struct.h:41
ptr_goal
struct wl_goal * ptr_goal
Definition: def_struct.h:40
wl_definition::date
long date
Definition: def_struct.h:122
ListLinks
struct wl_ListLinks ListLinks
wl_residuation::value_2
GENERIC value_2
Definition: def_struct.h:155
wl_definition::rule
ptr_pair_list rule
Definition: def_struct.h:126
wl_definition::global_value
ptr_psi_term global_value
Definition: def_struct.h:141
RefListLinks
struct wl_ListLinks * RefListLinks
Definition: def_struct.h:259
wl_resid_list
Definition: def_struct.h:59
wl_module::source_file
char * source_file
Definition: def_struct.h:76
ptr_definition
struct wl_definition * ptr_definition
Definition: def_struct.h:31
wl_keyword
Definition: def_struct.h:89
wl_psi_term::value_3
GENERIC value_3
Definition: def_struct.h:170
ptr_operator_data
struct wl_operator_data * ptr_operator_data
Definition: def_struct.h:28
ptr_pair_list
struct wl_pair_list * ptr_pair_list
Definition: def_struct.h:36
wl_pair_list::bbbb_2
ptr_psi_term bbbb_2
Definition: def_struct.h:190
wl_resid_list::var
ptr_psi_term var
Definition: def_struct.h:60
wl_triple_list::bbbb_4
ptr_psi_term bbbb_4
Definition: def_struct.h:197
hashentry::timestamp
long timestamp
Definition: def_struct.h:392
RefListHeader
struct wl_ListHeader * RefListHeader
Definition: def_struct.h:260
wl_module::module_name
char * module_name
Definition: def_struct.h:75
wl_psi_term::coref
ptr_psi_term coref
Definition: def_struct.h:172
hashentry
Definition: def_struct.h:391
wl_resid_block
Definition: def_struct.h:246
goals
long goals
Definition: def_struct.h:21
hashentry::bucketindex
long bucketindex
Definition: def_struct.h:393
wl_stack::aaaa_3
GENERIC * aaaa_3
Definition: def_struct.h:217
wl_residuation::bestsort
GENERIC bestsort
Definition: def_struct.h:154
wl_module::open_modules
ptr_int_list open_modules
Definition: def_struct.h:77
psi_arg::feature
char * feature
Definition: def_struct.h:363
stack
struct wl_stack stack
wl_psi_term::status
long status
Definition: def_struct.h:166
ptr_parse_block
struct wl_parse_block * ptr_parse_block
Definition: def_struct.h:381
ptr_keyword
struct wl_keyword * ptr_keyword
Definition: def_struct.h:99
wl_psi_term::flags
long flags
Definition: def_struct.h:169
wl_definition
Definition: def_struct.h:121
wl_keyword::module
ptr_module module
Definition: def_struct.h:90
hashbucket::info
long info
Definition: def_struct.h:387
wl_choice_point::goal_stack
ptr_goal goal_stack
Definition: def_struct.h:234
wl_hash_table::used
int used
Definition: def_struct.h:113
wl_resid_list::othervar
ptr_psi_term othervar
Definition: def_struct.h:61
ptr_psi_term
struct wl_psi_term * ptr_psi_term
Definition: def_struct.h:34
wl_ListHeader
Definition: def_struct.h:280
parse_block
struct wl_parse_block parse_block
wl_keyword::private_feature
int private_feature
Definition: def_struct.h:95
RefListEnumProc
int(* RefListEnumProc)()
Definition: def_struct.h:262
ptr_residuation
struct wl_residuation * ptr_residuation
Definition: def_struct.h:33
STRLEN
#define STRLEN
Definition: def_const.h:86
wl_parse_block::spt
ptr_psi_term spt
Definition: def_struct.h:376
wl_resid_block::rv
ptr_resid_list rv
Definition: def_struct.h:251
wl_ListHeader::Last
Ref Last
Definition: def_struct.h:282
wl_definition::code
ptr_int_list code
Definition: def_struct.h:129
definition
struct wl_definition definition
wl_node
Definition: def_struct.h:181
hashbucket
Definition: def_struct.h:384
wl_psi_term::type
ptr_definition type
Definition: def_struct.h:165
wl_int_list::value_1
GENERIC value_1
Definition: def_struct.h:54
wl_goal::bbbb_1
ptr_psi_term bbbb_1
Definition: def_struct.h:225
GENERIC
unsigned long * GENERIC
Definition: def_struct.h:17
wl_ListHeader::First
Ref First
Definition: def_struct.h:282
wl_definition::properties
ptr_triple_list properties
Definition: def_struct.h:127
triple_list
struct wl_triple_list triple_list
resid_list
struct wl_resid_list resid_list
type_ptr
long type_ptr
Definition: def_const.h:169
ptr_int_list
struct wl_int_list * ptr_int_list
Definition: def_struct.h:29
pair_list
struct wl_pair_list pair_list
text_buffer::next
struct text_buffer * next
Definition: def_struct.h:399
wl_definition::children
ptr_int_list children
Definition: def_struct.h:131
module_table
ptr_node module_table
Definition: def_glob.h:160
ptr_item
struct wl_item * ptr_item
Definition: def_struct.h:302
wl_stack::next
ptr_stack next
Definition: def_struct.h:219
ptr_stack
struct wl_stack * ptr_stack
Definition: def_struct.h:39
wl_psi_term::attr_list
ptr_node attr_list
Definition: def_struct.h:171
node
struct wl_node node
wl_goal::pending
ptr_definition pending
Definition: def_struct.h:228
current_module
ptr_module current_module
Definition: def_glob.h:161
wl_triple_list::aaaa_4
ptr_psi_term aaaa_4
Definition: def_struct.h:196
wl_definition::op_data
ptr_operator_data op_data
Definition: def_struct.h:139
Ref
void * Ref
Definition: def_struct.h:258
wl_node::right
ptr_node right
Definition: def_struct.h:184
residuation
struct wl_residuation residuation
wl_goal::next
ptr_goal next
Definition: def_struct.h:227
wl_int_list::next
ptr_int_list next
Definition: def_struct.h:55
wl_definition::parents
ptr_int_list parents
Definition: def_struct.h:130