Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997, 1998
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
/*
31
    AUTOMATICALLY GENERATED FROM ALGEBRA c_class (VERSION 1.1)
32
    BY calculus (VERSION 1.2)
33
*/
34
 
35
#ifndef C_CLASS_H_INCLUDED
36
#define C_CLASS_H_INCLUDED
37
 
38
#ifndef c_class_NAME
39
#define c_class_NAME			"c_class"
40
#define c_class_VERSION			"1.1"
41
#define c_class_SPECIFICATION		0
42
#define c_class_IMPLEMENTATION		1
43
#endif
44
 
45
 
46
/* Prototype macros */
47
 
48
#ifndef CONST_S
49
#define CONST_S
50
#endif
51
 
52
 
53
/* Primitive types */
54
 
7 7u83 55
typedef character * string;
56
typedef unsigned long ulong_type;
57
typedef struct bits_tag * BITSTREAM_P;
58
typedef struct pptok_tag * PPTOKEN_P;
2 7u83 59
 
60
 
61
/* Basic types */
62
 
63
typedef union c_class_tag {
7 7u83 64
    unsigned ag_tag;
65
    union c_class_tag *ag_ptr;
66
    unsigned ag_enum;
67
    unsigned long ag_long_enum;
68
    int ag_prim_int;
69
    unsigned ag_prim_unsigned;
70
    string ag_prim_string;
71
    ulong_type ag_prim_ulong;
72
    BITSTREAM_P ag_prim_bits;
73
    PPTOKEN_P ag_prim_pptok;
74
} c_class;
2 7u83 75
 
7 7u83 76
typedef c_class *c_class_PTR;
2 7u83 77
 
78
#ifndef c_class_DESTR_DEFINED
79
#define c_class_DESTR_DEFINED
7 7u83 80
typedef void (*DESTROYER)(c_class *, unsigned);
2 7u83 81
#endif
82
 
7 7u83 83
#define PTR(A)	c_class_PTR
84
#define LIST(A)	c_class_PTR
85
#define STACK(A)	c_class_PTR
86
#define SIZE(A)	int
2 7u83 87
 
88
 
89
/* Assertion macros */
90
 
91
#ifdef ASSERTS
7 7u83 92
extern c_class *check_null_c_class(c_class *, char *, int);
93
extern c_class *check_tag_c_class(c_class *, unsigned, char *, int);
94
extern c_class *check_tag_etc_c_class(c_class *, unsigned, unsigned, char *, int);
95
#define CHECK_NULL(P)\
96
    (check_null_c_class((P), __FILE__, __LINE__))
97
#define CHECK_TAG(P, N)\
98
    (check_tag_c_class((P), (unsigned)(N), __FILE__, __LINE__))
99
#define CHECK_TAG_ETC(P, L, U)\
100
    (check_tag_etc_c_class((P), (unsigned)(L), (unsigned)(U), __FILE__, __LINE__))
2 7u83 101
#else
7 7u83 102
#define CHECK_NULL(P)			(P)
103
#define CHECK_TAG(P, N)			(P)
104
#define CHECK_TAG_ETC(P, L, U)		(P)
2 7u83 105
#endif
106
 
107
 
108
/* Enumeration definitions */
109
 
7 7u83 110
typedef unsigned CV_SPEC;
111
typedef unsigned BUILTIN_TYPE;
112
typedef unsigned long BASE_TYPE;
113
typedef unsigned long CLASS_INFO;
114
typedef unsigned CLASS_USAGE;
115
typedef unsigned long DECL_SPEC;
116
typedef unsigned QUALIFIER;
117
typedef unsigned NTEST;
118
typedef unsigned RMODE;
2 7u83 119
 
120
 
121
/* Union type definitions */
122
 
7 7u83 123
typedef c_class *INT_TYPE;
124
typedef c_class *FLOAT_TYPE;
125
typedef c_class *CLASS_TYPE;
126
typedef c_class *GRAPH;
127
typedef c_class *VIRTUAL;
128
typedef c_class *ENUM_TYPE;
129
typedef c_class *TYPE;
130
typedef c_class *HASHID;
131
typedef c_class *IDENTIFIER;
132
typedef c_class *MEMBER;
133
typedef c_class *NAMESPACE;
134
typedef c_class *NAT;
135
typedef c_class *FLOAT;
136
typedef c_class *STRING;
137
typedef c_class *EXP;
138
typedef c_class *OFFSET;
139
typedef c_class *TOKEN;
140
typedef c_class *INSTANCE;
141
typedef c_class *ERROR;
2 7u83 142
 
143
 
144
/* Structure declarations */
145
 
7 7u83 146
typedef struct var_tag VARIABLE;
147
typedef struct loc_tag LOCATION;
148
typedef struct posn_tag POSITION;
2 7u83 149
 
150
 
151
/* Identity type definitions */
152
 
153
 
154
 
155
/* Structure definitions */
156
 
157
#ifndef c_class_STRUCT_DEFINED
158
#define c_class_STRUCT_DEFINED
159
 
160
struct var_tag {
7 7u83 161
    IDENTIFIER id;
162
    DECL_SPEC info;
163
};
2 7u83 164
 
165
struct loc_tag {
7 7u83 166
    ulong_type line;
167
    ulong_type column;
168
    PTR(POSITION) posn;
169
};
2 7u83 170
 
171
struct posn_tag {
7 7u83 172
    string file;
173
    string input;
174
    string base;
175
    string dir;
176
    ulong_type offset;
177
    PTR(LOCATION) from;
178
    ulong_type datestamp;
179
    ulong_type tok;
180
};
2 7u83 181
 
182
#endif /* c_class_STRUCT_DEFINED */
183
 
184
 
185
/* Function declarations */
186
 
7 7u83 187
extern c_class *gen_c_class(unsigned);
188
extern void destroy_c_class(c_class *, unsigned);
189
extern void dummy_destroy_c_class (c_class *, unsigned);
190
extern void destroy_c_class_list (c_class *, unsigned);
191
extern c_class *append_c_class_list(c_class *, c_class *);
192
extern c_class *end_c_class_list(c_class *);
193
extern unsigned length_c_class_list(c_class *);
194
extern c_class *reverse_c_class_list(c_class *);
2 7u83 195
#ifdef c_class_IO_ROUTINES
7 7u83 196
extern unsigned crt_c_class_alias;
197
extern void set_c_class_alias(c_class *, unsigned);
198
extern c_class *find_c_class_alias(unsigned);
199
extern void clear_c_class_alias(void);
2 7u83 200
#endif
201
 
202
 
203
/* Run-time type information */
204
 
205
#ifndef GEN_c_class
7 7u83 206
#define GEN_c_class(A, B)		gen_c_class((unsigned)(A))
2 7u83 207
#endif
7 7u83 208
#define TYPEID_ptr			((unsigned)0)
209
#define TYPEID_list			((unsigned)1)
210
#define TYPEID_stack			((unsigned)2)
211
#define TYPEID_itype			((unsigned)3)
212
#define TYPEID_ftype			((unsigned)4)
213
#define TYPEID_ctype			((unsigned)5)
214
#define TYPEID_graph			((unsigned)6)
215
#define TYPEID_virt			((unsigned)7)
216
#define TYPEID_etype			((unsigned)8)
217
#define TYPEID_type			((unsigned)9)
218
#define TYPEID_hashid			((unsigned)10)
219
#define TYPEID_id			((unsigned)11)
220
#define TYPEID_member			((unsigned)12)
221
#define TYPEID_nspace			((unsigned)13)
222
#define TYPEID_nat			((unsigned)14)
223
#define TYPEID_flt			((unsigned)15)
224
#define TYPEID_str			((unsigned)16)
225
#define TYPEID_exp			((unsigned)17)
226
#define TYPEID_off			((unsigned)18)
227
#define TYPEID_tok			((unsigned)19)
228
#define TYPEID_inst			((unsigned)20)
229
#define TYPEID_err			((unsigned)21)
2 7u83 230
 
231
 
232
/* Definitions for pointers */
233
 
7 7u83 234
#define STEP_ptr(A, B)			(CHECK_NULL(A) + B)
235
#define SIZE_ptr(A)			1
236
#define NULL_ptr(A)			((c_class *)0)
237
#define IS_NULL_ptr(A)			((A) == 0)
238
#define EQ_ptr(A, B)			((A) == (B))
239
#define MAKE_ptr(A)			GEN_c_class((A), TYPEID_ptr)
240
#define DESTROY_ptr(A, B)		destroy_c_class((A), (unsigned)(B))
241
#define UNIQ_ptr(A)			GEN_c_class(1, TYPEID_ptr)
242
#define DESTROY_UNIQ_ptr(A)		destroy_c_class((A), (unsigned)1)
2 7u83 243
#ifdef c_class_IO_ROUTINES
7 7u83 244
#define VOIDSTAR_ptr(A)			((void *)(A))
2 7u83 245
#endif
246
 
7 7u83 247
#define COPY_ptr(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
248
#define DEREF_ptr(A)			(CHECK_NULL(A)->ag_ptr)
249
#define CONS_ptr(A, B, C)\
2 7u83 250
    {\
7 7u83 251
	c_class *x0_ = GEN_c_class(2, TYPEID_list);\
252
	x0_[1].ag_ptr = (A);\
253
	x0_->ag_ptr = (B);\
254
	(C) = x0_;\
2 7u83 255
    }
256
 
7 7u83 257
#define UN_CONS_ptr(A, B, C)\
2 7u83 258
    {\
7 7u83 259
	c_class *x1_ = CHECK_NULL(C);\
260
	(A) = x1_[1].ag_ptr;\
261
	(B) = x1_->ag_ptr;\
2 7u83 262
    }
263
 
7 7u83 264
#define DESTROY_CONS_ptr(D, A, B, C)\
2 7u83 265
    {\
7 7u83 266
	c_class *x2_ = CHECK_NULL(C);\
267
	(A) = x2_[1].ag_ptr;\
268
	(B) = x2_->ag_ptr;\
269
	(D)(x2_, (unsigned)2);\
2 7u83 270
    }
271
 
7 7u83 272
#define PUSH_ptr(A, B)\
2 7u83 273
    {\
7 7u83 274
	c_class **r3_ = &(B);\
275
	c_class *x3_ = GEN_c_class(2, TYPEID_stack);\
276
	x3_[1].ag_ptr = (A);\
277
	x3_->ag_ptr = *r3_;\
278
	*r3_ = x3_;\
2 7u83 279
    }
280
 
7 7u83 281
#define POP_ptr(A, B)\
2 7u83 282
    {\
7 7u83 283
	c_class **r4_ = &(B);\
284
	c_class *x4_ = CHECK_NULL(*r4_);\
285
	(A) = x4_[1].ag_ptr;\
286
	*r4_ = x4_->ag_ptr;\
287
	destroy_c_class(x4_, (unsigned)2);\
2 7u83 288
    }
289
 
290
 
291
/* Definitions for lists */
292
 
7 7u83 293
#define HEAD_list(A)			(CHECK_NULL(A) + 1)
294
#define PTR_TAIL_list(A)		(CHECK_NULL(A))
295
#define TAIL_list(A)			(CHECK_NULL(A)->ag_ptr)
296
#define LENGTH_list(A)			length_c_class_list((A))
297
#define END_list(A)			end_c_class_list((A))
298
#define REVERSE_list(A)			reverse_c_class_list((A))
299
#define APPEND_list(A, B)		append_c_class_list((A), (B))
2 7u83 300
 
7 7u83 301
#define SIZE_list(A)			1
302
#define NULL_list(A)			((c_class *) 0)
303
#define IS_NULL_list(A)			((A) == 0)
304
#define EQ_list(A, B)			((A) == (B))
305
#define UNIQ_list(A)			GEN_c_class(1, TYPEID_list)
306
#define DESTROY_UNIQ_list(A)		destroy_c_class((A), (unsigned)1)
2 7u83 307
#ifdef c_class_IO_ROUTINES
7 7u83 308
#define VOIDSTAR_list(A)		((void *)(A))
2 7u83 309
#endif
310
 
7 7u83 311
#define DESTROY_list(A, B)\
2 7u83 312
    {\
7 7u83 313
	destroy_c_class_list((A), (unsigned)(B));\
2 7u83 314
    }
315
 
7 7u83 316
#define COPY_list(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
317
#define DEREF_list(A)			(CHECK_NULL(A)->ag_ptr)
318
#define CONS_list(A, B, C)\
2 7u83 319
    {\
7 7u83 320
	c_class *x5_ = GEN_c_class(2, TYPEID_list);\
321
	x5_[1].ag_ptr = (A);\
322
	x5_->ag_ptr = (B);\
323
	(C) = x5_;\
2 7u83 324
    }
325
 
7 7u83 326
#define UN_CONS_list(A, B, C)\
2 7u83 327
    {\
7 7u83 328
	c_class *x6_ = CHECK_NULL(C);\
329
	(A) = x6_[1].ag_ptr;\
330
	(B) = x6_->ag_ptr;\
2 7u83 331
    }
332
 
7 7u83 333
#define DESTROY_CONS_list(D, A, B, C)\
2 7u83 334
    {\
7 7u83 335
	c_class *x7_ = CHECK_NULL(C);\
336
	(A) = x7_[1].ag_ptr;\
337
	(B) = x7_->ag_ptr;\
338
	(D)(x7_, (unsigned)2);\
2 7u83 339
    }
340
 
7 7u83 341
#define PUSH_list(A, B)\
2 7u83 342
    {\
7 7u83 343
	c_class **r8_ = &(B);\
344
	c_class *x8_ = GEN_c_class(2, TYPEID_stack);\
345
	x8_[1].ag_ptr = (A);\
346
	x8_->ag_ptr = *r8_;\
347
	*r8_ = x8_;\
2 7u83 348
    }
349
 
7 7u83 350
#define POP_list(A, B)\
2 7u83 351
    {\
7 7u83 352
	c_class **r9_ = &(B);\
353
	c_class *x9_ = CHECK_NULL(*r9_);\
354
	(A) = x9_[1].ag_ptr;\
355
	*r9_ = x9_->ag_ptr;\
356
	destroy_c_class(x9_, (unsigned)2);\
2 7u83 357
    }
358
 
359
 
360
/* Definitions for stacks */
361
 
7 7u83 362
#define SIZE_stack(A)			1
363
#define NULL_stack(A)			((c_class *) 0)
364
#define IS_NULL_stack(A)		((A) == 0)
365
#define STACK_list(A)			(A)
366
#define LIST_stack(A)			(A)
2 7u83 367
 
7 7u83 368
#define COPY_stack(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
369
#define DEREF_stack(A)			(CHECK_NULL(A)->ag_ptr)
370
#define CONS_stack(A, B, C)\
2 7u83 371
    {\
7 7u83 372
	c_class *x10_ = GEN_c_class(2, TYPEID_list);\
373
	x10_[1].ag_ptr = (A);\
374
	x10_->ag_ptr = (B);\
375
	(C) = x10_;\
2 7u83 376
    }
377
 
7 7u83 378
#define UN_CONS_stack(A, B, C)\
2 7u83 379
    {\
7 7u83 380
	c_class *x11_ = CHECK_NULL(C);\
381
	(A) = x11_[1].ag_ptr;\
382
	(B) = x11_->ag_ptr;\
2 7u83 383
    }
384
 
7 7u83 385
#define DESTROY_CONS_stack(D, A, B, C)\
2 7u83 386
    {\
7 7u83 387
	c_class *x12_ = CHECK_NULL(C);\
388
	(A) = x12_[1].ag_ptr;\
389
	(B) = x12_->ag_ptr;\
390
	(D)(x12_, (unsigned)2);\
2 7u83 391
    }
392
 
7 7u83 393
#define PUSH_stack(A, B)\
2 7u83 394
    {\
7 7u83 395
	c_class **r13_ = &(B);\
396
	c_class *x13_ = GEN_c_class(2, TYPEID_stack);\
397
	x13_[1].ag_ptr = (A);\
398
	x13_->ag_ptr = *r13_;\
399
	*r13_ = x13_;\
2 7u83 400
    }
401
 
7 7u83 402
#define POP_stack(A, B)\
2 7u83 403
    {\
7 7u83 404
	c_class **r14_ = &(B);\
405
	c_class *x14_ = CHECK_NULL(*r14_);\
406
	(A) = x14_[1].ag_ptr;\
407
	*r14_ = x14_->ag_ptr;\
408
	destroy_c_class(x14_, (unsigned)2);\
2 7u83 409
    }
410
 
411
 
412
/* Definitions for sizes */
413
 
7 7u83 414
#define SCALE(A, B)			((A)*(int)(B))
2 7u83 415
 
416
 
417
/* Definitions for primitive int */
418
 
419
#define SIZE_int			1
420
 
7 7u83 421
#define COPY_int(A, B)			(CHECK_NULL(A)->ag_prim_int = (B))
422
#define DEREF_int(A)			(CHECK_NULL(A)->ag_prim_int)
423
#define CONS_int(A, B, C)\
2 7u83 424
    {\
7 7u83 425
	c_class *x15_ = GEN_c_class(2, TYPEID_list);\
426
	COPY_int(x15_ + 1, (A));\
427
	x15_->ag_ptr = (B);\
428
	(C) = x15_;\
2 7u83 429
    }
430
 
7 7u83 431
#define UN_CONS_int(A, B, C)\
2 7u83 432
    {\
7 7u83 433
	c_class *x16_ = CHECK_NULL(C);\
434
	(A) = DEREF_int(x16_ + 1);\
435
	(B) = x16_->ag_ptr;\
2 7u83 436
    }
437
 
7 7u83 438
#define DESTROY_CONS_int(D, A, B, C)\
2 7u83 439
    {\
7 7u83 440
	c_class *x17_ = CHECK_NULL(C);\
441
	(A) = DEREF_int(x17_ + 1);\
442
	(B) = x17_->ag_ptr;\
443
	(D)(x17_, (unsigned)2);\
2 7u83 444
    }
445
 
7 7u83 446
#define PUSH_int(A, B)\
2 7u83 447
    {\
7 7u83 448
	c_class **r18_ = &(B);\
449
	c_class *x18_ = GEN_c_class(2, TYPEID_stack);\
450
	COPY_int(x18_ + 1, (A));\
451
	x18_->ag_ptr = *r18_;\
452
	*r18_ = x18_;\
2 7u83 453
    }
454
 
7 7u83 455
#define POP_int(A, B)\
2 7u83 456
    {\
7 7u83 457
	c_class **r19_ = &(B);\
458
	c_class *x19_ = CHECK_NULL(*r19_);\
459
	(A) = DEREF_int(x19_ + 1);\
460
	*r19_ = x19_->ag_ptr;\
461
	destroy_c_class(x19_, (unsigned)2);\
2 7u83 462
    }
463
 
464
 
465
/* Definitions for primitive unsigned */
466
 
467
#define SIZE_unsigned			1
468
 
7 7u83 469
#define COPY_unsigned(A, B)		(CHECK_NULL(A)->ag_prim_unsigned = (B))
470
#define DEREF_unsigned(A)		(CHECK_NULL(A)->ag_prim_unsigned)
471
#define CONS_unsigned(A, B, C)\
2 7u83 472
    {\
7 7u83 473
	c_class *x20_ = GEN_c_class(2, TYPEID_list);\
474
	COPY_unsigned(x20_ + 1, (A));\
475
	x20_->ag_ptr = (B);\
476
	(C) = x20_;\
2 7u83 477
    }
478
 
7 7u83 479
#define UN_CONS_unsigned(A, B, C)\
2 7u83 480
    {\
7 7u83 481
	c_class *x21_ = CHECK_NULL(C);\
482
	(A) = DEREF_unsigned(x21_ + 1);\
483
	(B) = x21_->ag_ptr;\
2 7u83 484
    }
485
 
7 7u83 486
#define DESTROY_CONS_unsigned(D, A, B, C)\
2 7u83 487
    {\
7 7u83 488
	c_class *x22_ = CHECK_NULL(C);\
489
	(A) = DEREF_unsigned(x22_ + 1);\
490
	(B) = x22_->ag_ptr;\
491
	(D)(x22_, (unsigned)2);\
2 7u83 492
    }
493
 
7 7u83 494
#define PUSH_unsigned(A, B)\
2 7u83 495
    {\
7 7u83 496
	c_class **r23_ = &(B);\
497
	c_class *x23_ = GEN_c_class(2, TYPEID_stack);\
498
	COPY_unsigned(x23_ + 1, (A));\
499
	x23_->ag_ptr = *r23_;\
500
	*r23_ = x23_;\
2 7u83 501
    }
502
 
7 7u83 503
#define POP_unsigned(A, B)\
2 7u83 504
    {\
7 7u83 505
	c_class **r24_ = &(B);\
506
	c_class *x24_ = CHECK_NULL(*r24_);\
507
	(A) = DEREF_unsigned(x24_ + 1);\
508
	*r24_ = x24_->ag_ptr;\
509
	destroy_c_class(x24_, (unsigned)2);\
2 7u83 510
    }
511
 
512
 
513
/* Definitions for primitive string */
514
 
515
#define SIZE_string			1
516
 
7 7u83 517
#define COPY_string(A, B)		(CHECK_NULL(A)->ag_prim_string = (B))
518
#define DEREF_string(A)			(CHECK_NULL(A)->ag_prim_string)
519
#define CONS_string(A, B, C)\
2 7u83 520
    {\
7 7u83 521
	c_class *x25_ = GEN_c_class(2, TYPEID_list);\
522
	COPY_string(x25_ + 1, (A));\
523
	x25_->ag_ptr = (B);\
524
	(C) = x25_;\
2 7u83 525
    }
526
 
7 7u83 527
#define UN_CONS_string(A, B, C)\
2 7u83 528
    {\
7 7u83 529
	c_class *x26_ = CHECK_NULL(C);\
530
	(A) = DEREF_string(x26_ + 1);\
531
	(B) = x26_->ag_ptr;\
2 7u83 532
    }
533
 
7 7u83 534
#define DESTROY_CONS_string(D, A, B, C)\
2 7u83 535
    {\
7 7u83 536
	c_class *x27_ = CHECK_NULL(C);\
537
	(A) = DEREF_string(x27_ + 1);\
538
	(B) = x27_->ag_ptr;\
539
	(D)(x27_, (unsigned)2);\
2 7u83 540
    }
541
 
7 7u83 542
#define PUSH_string(A, B)\
2 7u83 543
    {\
7 7u83 544
	c_class **r28_ = &(B);\
545
	c_class *x28_ = GEN_c_class(2, TYPEID_stack);\
546
	COPY_string(x28_ + 1, (A));\
547
	x28_->ag_ptr = *r28_;\
548
	*r28_ = x28_;\
2 7u83 549
    }
550
 
7 7u83 551
#define POP_string(A, B)\
2 7u83 552
    {\
7 7u83 553
	c_class **r29_ = &(B);\
554
	c_class *x29_ = CHECK_NULL(*r29_);\
555
	(A) = DEREF_string(x29_ + 1);\
556
	*r29_ = x29_->ag_ptr;\
557
	destroy_c_class(x29_, (unsigned)2);\
2 7u83 558
    }
559
 
560
 
561
/* Definitions for primitive ulong_type */
562
 
563
#define SIZE_ulong			1
564
 
7 7u83 565
#define COPY_ulong(A, B)		(CHECK_NULL(A)->ag_prim_ulong = (B))
566
#define DEREF_ulong(A)			(CHECK_NULL(A)->ag_prim_ulong)
567
#define CONS_ulong(A, B, C)\
2 7u83 568
    {\
7 7u83 569
	c_class *x30_ = GEN_c_class(2, TYPEID_list);\
570
	COPY_ulong(x30_ + 1, (A));\
571
	x30_->ag_ptr = (B);\
572
	(C) = x30_;\
2 7u83 573
    }
574
 
7 7u83 575
#define UN_CONS_ulong(A, B, C)\
2 7u83 576
    {\
7 7u83 577
	c_class *x31_ = CHECK_NULL(C);\
578
	(A) = DEREF_ulong(x31_ + 1);\
579
	(B) = x31_->ag_ptr;\
2 7u83 580
    }
581
 
7 7u83 582
#define DESTROY_CONS_ulong(D, A, B, C)\
2 7u83 583
    {\
7 7u83 584
	c_class *x32_ = CHECK_NULL(C);\
585
	(A) = DEREF_ulong(x32_ + 1);\
586
	(B) = x32_->ag_ptr;\
587
	(D)(x32_, (unsigned)2);\
2 7u83 588
    }
589
 
7 7u83 590
#define PUSH_ulong(A, B)\
2 7u83 591
    {\
7 7u83 592
	c_class **r33_ = &(B);\
593
	c_class *x33_ = GEN_c_class(2, TYPEID_stack);\
594
	COPY_ulong(x33_ + 1, (A));\
595
	x33_->ag_ptr = *r33_;\
596
	*r33_ = x33_;\
2 7u83 597
    }
598
 
7 7u83 599
#define POP_ulong(A, B)\
2 7u83 600
    {\
7 7u83 601
	c_class **r34_ = &(B);\
602
	c_class *x34_ = CHECK_NULL(*r34_);\
603
	(A) = DEREF_ulong(x34_ + 1);\
604
	*r34_ = x34_->ag_ptr;\
605
	destroy_c_class(x34_, (unsigned)2);\
2 7u83 606
    }
607
 
608
 
609
/* Definitions for primitive BITSTREAM_P */
610
 
611
#define SIZE_bits			1
612
 
7 7u83 613
#define COPY_bits(A, B)			(CHECK_NULL(A)->ag_prim_bits = (B))
614
#define DEREF_bits(A)			(CHECK_NULL(A)->ag_prim_bits)
615
#define CONS_bits(A, B, C)\
2 7u83 616
    {\
7 7u83 617
	c_class *x35_ = GEN_c_class(2, TYPEID_list);\
618
	COPY_bits(x35_ + 1, (A));\
619
	x35_->ag_ptr = (B);\
620
	(C) = x35_;\
2 7u83 621
    }
622
 
7 7u83 623
#define UN_CONS_bits(A, B, C)\
2 7u83 624
    {\
7 7u83 625
	c_class *x36_ = CHECK_NULL(C);\
626
	(A) = DEREF_bits(x36_ + 1);\
627
	(B) = x36_->ag_ptr;\
2 7u83 628
    }
629
 
7 7u83 630
#define DESTROY_CONS_bits(D, A, B, C)\
2 7u83 631
    {\
7 7u83 632
	c_class *x37_ = CHECK_NULL(C);\
633
	(A) = DEREF_bits(x37_ + 1);\
634
	(B) = x37_->ag_ptr;\
635
	(D)(x37_, (unsigned)2);\
2 7u83 636
    }
637
 
7 7u83 638
#define PUSH_bits(A, B)\
2 7u83 639
    {\
7 7u83 640
	c_class **r38_ = &(B);\
641
	c_class *x38_ = GEN_c_class(2, TYPEID_stack);\
642
	COPY_bits(x38_ + 1, (A));\
643
	x38_->ag_ptr = *r38_;\
644
	*r38_ = x38_;\
2 7u83 645
    }
646
 
7 7u83 647
#define POP_bits(A, B)\
2 7u83 648
    {\
7 7u83 649
	c_class **r39_ = &(B);\
650
	c_class *x39_ = CHECK_NULL(*r39_);\
651
	(A) = DEREF_bits(x39_ + 1);\
652
	*r39_ = x39_->ag_ptr;\
653
	destroy_c_class(x39_, (unsigned)2);\
2 7u83 654
    }
655
 
656
 
657
/* Definitions for primitive PPTOKEN_P */
658
 
659
#define SIZE_pptok			1
660
 
7 7u83 661
#define COPY_pptok(A, B)		(CHECK_NULL(A)->ag_prim_pptok = (B))
662
#define DEREF_pptok(A)			(CHECK_NULL(A)->ag_prim_pptok)
663
#define CONS_pptok(A, B, C)\
2 7u83 664
    {\
7 7u83 665
	c_class *x40_ = GEN_c_class(2, TYPEID_list);\
666
	COPY_pptok(x40_ + 1, (A));\
667
	x40_->ag_ptr = (B);\
668
	(C) = x40_;\
2 7u83 669
    }
670
 
7 7u83 671
#define UN_CONS_pptok(A, B, C)\
2 7u83 672
    {\
7 7u83 673
	c_class *x41_ = CHECK_NULL(C);\
674
	(A) = DEREF_pptok(x41_ + 1);\
675
	(B) = x41_->ag_ptr;\
2 7u83 676
    }
677
 
7 7u83 678
#define DESTROY_CONS_pptok(D, A, B, C)\
2 7u83 679
    {\
7 7u83 680
	c_class *x42_ = CHECK_NULL(C);\
681
	(A) = DEREF_pptok(x42_ + 1);\
682
	(B) = x42_->ag_ptr;\
683
	(D)(x42_, (unsigned)2);\
2 7u83 684
    }
685
 
7 7u83 686
#define PUSH_pptok(A, B)\
2 7u83 687
    {\
7 7u83 688
	c_class **r43_ = &(B);\
689
	c_class *x43_ = GEN_c_class(2, TYPEID_stack);\
690
	COPY_pptok(x43_ + 1, (A));\
691
	x43_->ag_ptr = *r43_;\
692
	*r43_ = x43_;\
2 7u83 693
    }
694
 
7 7u83 695
#define POP_pptok(A, B)\
2 7u83 696
    {\
7 7u83 697
	c_class **r44_ = &(B);\
698
	c_class *x44_ = CHECK_NULL(*r44_);\
699
	(A) = DEREF_pptok(x44_ + 1);\
700
	*r44_ = x44_->ag_ptr;\
701
	destroy_c_class(x44_, (unsigned)2);\
2 7u83 702
    }
703
 
704
 
705
/* Definitions for enumeration CV_SPEC */
706
 
7 7u83 707
#define cv_none				((CV_SPEC) 0)
708
#define cv_const			((CV_SPEC) 1)
709
#define cv_volatile			((CV_SPEC) 2)
710
#define cv_lvalue			((CV_SPEC) 4)
711
#define cv_c				((CV_SPEC) 8)
712
#define cv_cpp				((CV_SPEC) 16)
713
#define cv_qual				((CV_SPEC) 3)
714
#define cv_mask				((CV_SPEC) 7)
715
#define cv_language			((CV_SPEC) 24)
716
#define ORDER_cv			((unsigned long) 25)
2 7u83 717
#define SIZE_cv				1
718
 
7 7u83 719
#define COPY_cv(A, B)			(CHECK_NULL(A)->ag_enum = (B))
720
#define DEREF_cv(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 721
 
722
 
723
/* Definitions for enumeration BUILTIN_TYPE */
724
 
7 7u83 725
#define ntype_none			((BUILTIN_TYPE) 0)
726
#define ntype_char			((BUILTIN_TYPE) 1)
727
#define ntype_schar			((BUILTIN_TYPE) 2)
728
#define ntype_uchar			((BUILTIN_TYPE) 3)
729
#define ntype_sshort			((BUILTIN_TYPE) 4)
730
#define ntype_ushort			((BUILTIN_TYPE) 5)
731
#define ntype_sint			((BUILTIN_TYPE) 6)
732
#define ntype_uint			((BUILTIN_TYPE) 7)
733
#define ntype_slong			((BUILTIN_TYPE) 8)
734
#define ntype_ulong			((BUILTIN_TYPE) 9)
735
#define ntype_sllong			((BUILTIN_TYPE) 10)
736
#define ntype_ullong			((BUILTIN_TYPE) 11)
737
#define ntype_float			((BUILTIN_TYPE) 12)
738
#define ntype_double			((BUILTIN_TYPE) 13)
739
#define ntype_ldouble			((BUILTIN_TYPE) 14)
740
#define ntype_void			((BUILTIN_TYPE) 15)
741
#define ntype_bottom			((BUILTIN_TYPE) 16)
742
#define ntype_bool			((BUILTIN_TYPE) 17)
743
#define ntype_ptrdiff_t			((BUILTIN_TYPE) 18)
744
#define ntype_size_t			((BUILTIN_TYPE) 19)
745
#define ntype_wchar_t			((BUILTIN_TYPE) 20)
746
#define ntype_ellipsis			((BUILTIN_TYPE) 21)
747
#define ORDER_ntype			((unsigned long) 22)
2 7u83 748
#define SIZE_ntype			1
749
 
7 7u83 750
#define COPY_ntype(A, B)		(CHECK_NULL(A)->ag_enum = (B))
751
#define DEREF_ntype(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 752
 
753
 
754
/* Definitions for enumeration BASE_TYPE */
755
 
756
#ifdef __STDC__
7 7u83 757
#define btype_none			((BASE_TYPE) 0UL)
758
#define btype_class			((BASE_TYPE) 1UL)
759
#define btype_struct_			((BASE_TYPE) 2UL)
760
#define btype_union_			((BASE_TYPE) 3UL)
761
#define btype_enum_			((BASE_TYPE) 4UL)
762
#define btype_alias			((BASE_TYPE) 5UL)
763
#define btype_any			((BASE_TYPE) 6UL)
764
#define btype_named			((BASE_TYPE) 7UL)
765
#define btype_signed			((BASE_TYPE) 8UL)
766
#define btype_unsigned			((BASE_TYPE) 16UL)
767
#define btype_char			((BASE_TYPE) 32UL)
768
#define btype_short			((BASE_TYPE) 64UL)
769
#define btype_int			((BASE_TYPE) 128UL)
770
#define btype_long			((BASE_TYPE) 256UL)
771
#define btype_long2			((BASE_TYPE) 512UL)
772
#define btype_float			((BASE_TYPE) 1024UL)
773
#define btype_double			((BASE_TYPE) 2048UL)
774
#define btype_void			((BASE_TYPE) 4096UL)
775
#define btype_bottom			((BASE_TYPE) 8192UL)
776
#define btype_bool			((BASE_TYPE) 16384UL)
777
#define btype_ptrdiff_t			((BASE_TYPE) 32768UL)
778
#define btype_size_t			((BASE_TYPE) 65536UL)
779
#define btype_wchar_t			((BASE_TYPE) 131072UL)
780
#define btype_schar			((BASE_TYPE) 40UL)
781
#define btype_uchar			((BASE_TYPE) 48UL)
782
#define btype_sshort			((BASE_TYPE) 200UL)
783
#define btype_ushort			((BASE_TYPE) 208UL)
784
#define btype_sint			((BASE_TYPE) 136UL)
785
#define btype_uint			((BASE_TYPE) 144UL)
786
#define btype_slong			((BASE_TYPE) 392UL)
787
#define btype_ulong			((BASE_TYPE) 400UL)
788
#define btype_llong			((BASE_TYPE) 768UL)
789
#define btype_sllong			((BASE_TYPE) 904UL)
790
#define btype_ullong			((BASE_TYPE) 912UL)
791
#define btype_ldouble			((BASE_TYPE) 2304UL)
792
#define btype_ellipsis			((BASE_TYPE) 262144UL)
793
#define btype_star			((BASE_TYPE) 524288UL)
794
#define btype_template			((BASE_TYPE) 1048576UL)
795
#define btype_typename			((BASE_TYPE) 2097152UL)
796
#define btype_args			((BASE_TYPE) 4194304UL)
797
#define btype_keyword			((BASE_TYPE) 154624UL)
798
#define btype_other			((BASE_TYPE) 261120UL)
799
#define btype_arith			((BASE_TYPE) 1152UL)
800
#define btype_scalar			((BASE_TYPE) 525440UL)
801
#define ORDER_btype			(4194305UL)
2 7u83 802
#else
7 7u83 803
#define btype_none			((BASE_TYPE) 0)
804
#define btype_class			((BASE_TYPE) 1)
805
#define btype_struct_			((BASE_TYPE) 2)
806
#define btype_union_			((BASE_TYPE) 3)
807
#define btype_enum_			((BASE_TYPE) 4)
808
#define btype_alias			((BASE_TYPE) 5)
809
#define btype_any			((BASE_TYPE) 6)
810
#define btype_named			((BASE_TYPE) 7)
811
#define btype_signed			((BASE_TYPE) 8)
812
#define btype_unsigned			((BASE_TYPE) 16)
813
#define btype_char			((BASE_TYPE) 32)
814
#define btype_short			((BASE_TYPE) 64)
815
#define btype_int			((BASE_TYPE) 128)
816
#define btype_long			((BASE_TYPE) 256)
817
#define btype_long2			((BASE_TYPE) 512)
818
#define btype_float			((BASE_TYPE) 1024)
819
#define btype_double			((BASE_TYPE) 2048)
820
#define btype_void			((BASE_TYPE) 4096)
821
#define btype_bottom			((BASE_TYPE) 8192)
822
#define btype_bool			((BASE_TYPE) 16384)
823
#define btype_ptrdiff_t			((BASE_TYPE) 32768)
824
#define btype_size_t			((BASE_TYPE) 65536)
825
#define btype_wchar_t			((BASE_TYPE) 131072)
826
#define btype_schar			((BASE_TYPE) 40)
827
#define btype_uchar			((BASE_TYPE) 48)
828
#define btype_sshort			((BASE_TYPE) 200)
829
#define btype_ushort			((BASE_TYPE) 208)
830
#define btype_sint			((BASE_TYPE) 136)
831
#define btype_uint			((BASE_TYPE) 144)
832
#define btype_slong			((BASE_TYPE) 392)
833
#define btype_ulong			((BASE_TYPE) 400)
834
#define btype_llong			((BASE_TYPE) 768)
835
#define btype_sllong			((BASE_TYPE) 904)
836
#define btype_ullong			((BASE_TYPE) 912)
837
#define btype_ldouble			((BASE_TYPE) 2304)
838
#define btype_ellipsis			((BASE_TYPE) 262144)
839
#define btype_star			((BASE_TYPE) 524288)
840
#define btype_template			((BASE_TYPE) 1048576)
841
#define btype_typename			((BASE_TYPE) 2097152)
842
#define btype_args			((BASE_TYPE) 4194304)
843
#define btype_keyword			((BASE_TYPE) 154624)
844
#define btype_other			((BASE_TYPE) 261120)
845
#define btype_arith			((BASE_TYPE) 1152)
846
#define btype_scalar			((BASE_TYPE) 525440)
847
#define ORDER_btype			((unsigned long) 4194305)
2 7u83 848
#endif
849
#define SIZE_btype			1
850
 
7 7u83 851
#define COPY_btype(A, B)		(CHECK_NULL(A)->ag_long_enum = (B))
852
#define DEREF_btype(A)			(CHECK_NULL(A)->ag_long_enum)
2 7u83 853
 
854
 
855
/* Definitions for enumeration CLASS_INFO */
856
 
857
#ifdef __STDC__
7 7u83 858
#define cinfo_none			((CLASS_INFO) 0UL)
859
#define cinfo_complete			((CLASS_INFO) 1UL)
860
#define cinfo_defined			((CLASS_INFO) 2UL)
861
#define cinfo_struct_			((CLASS_INFO) 4UL)
862
#define cinfo_union_			((CLASS_INFO) 8UL)
863
#define cinfo_template			((CLASS_INFO) 16UL)
864
#define cinfo_token			((CLASS_INFO) 32UL)
865
#define cinfo_pod			((CLASS_INFO) 64UL)
866
#define cinfo_nested			((CLASS_INFO) 128UL)
867
#define cinfo_rescan			((CLASS_INFO) 256UL)
868
#define cinfo_recursive			((CLASS_INFO) 512UL)
869
#define cinfo_incomplete		((CLASS_INFO) 1024UL)
870
#define cinfo_base			((CLASS_INFO) 2048UL)
871
#define cinfo_multiple_base		((CLASS_INFO) 4096UL)
872
#define cinfo_virtual_base		((CLASS_INFO) 8192UL)
873
#define cinfo_templ_base		((CLASS_INFO) 16384UL)
874
#define cinfo_ambiguous			((CLASS_INFO) 32768UL)
875
#define cinfo_empty			((CLASS_INFO) 65536UL)
876
#define cinfo_private			((CLASS_INFO) 131072UL)
877
#define cinfo_const			((CLASS_INFO) 262144UL)
878
#define cinfo_static			((CLASS_INFO) 524288UL)
879
#define cinfo_function			((CLASS_INFO) 1048576UL)
880
#define cinfo_params			((CLASS_INFO) 2097152UL)
881
#define cinfo_polymorphic		((CLASS_INFO) 4194304UL)
882
#define cinfo_poly_base			((CLASS_INFO) 8388608UL)
883
#define cinfo_abstract			((CLASS_INFO) 16777216UL)
884
#define cinfo_trivial_constr		((CLASS_INFO) 33554432UL)
885
#define cinfo_trivial_destr		((CLASS_INFO) 67108864UL)
886
#define cinfo_trivial_copy		((CLASS_INFO) 134217728UL)
887
#define cinfo_trivial_assign		((CLASS_INFO) 268435456UL)
888
#define cinfo_const_copy		((CLASS_INFO) 536870912UL)
889
#define cinfo_const_assign		((CLASS_INFO) 1073741824UL)
890
#define cinfo_usr_constr		((CLASS_INFO) 2147483648UL)
891
#define cinfo_key			((CLASS_INFO) 12UL)
892
#define cinfo_non_aggregate		((CLASS_INFO) 2151811104UL)
893
#define cinfo_force_copy		((CLASS_INFO) 3670016UL)
894
#define cinfo_trivial_make		((CLASS_INFO) 436207616UL)
895
#define cinfo_trivial			((CLASS_INFO) 503316480UL)
896
#define cinfo_implicit			((CLASS_INFO) 2113929216UL)
897
#define cinfo_default			((CLASS_INFO) 2113994816UL)
898
#define ORDER_cinfo			(2151811105UL)
2 7u83 899
#else
7 7u83 900
#define cinfo_none			((CLASS_INFO) 0)
901
#define cinfo_complete			((CLASS_INFO) 1)
902
#define cinfo_defined			((CLASS_INFO) 2)
903
#define cinfo_struct_			((CLASS_INFO) 4)
904
#define cinfo_union_			((CLASS_INFO) 8)
905
#define cinfo_template			((CLASS_INFO) 16)
906
#define cinfo_token			((CLASS_INFO) 32)
907
#define cinfo_pod			((CLASS_INFO) 64)
908
#define cinfo_nested			((CLASS_INFO) 128)
909
#define cinfo_rescan			((CLASS_INFO) 256)
910
#define cinfo_recursive			((CLASS_INFO) 512)
911
#define cinfo_incomplete		((CLASS_INFO) 1024)
912
#define cinfo_base			((CLASS_INFO) 2048)
913
#define cinfo_multiple_base		((CLASS_INFO) 4096)
914
#define cinfo_virtual_base		((CLASS_INFO) 8192)
915
#define cinfo_templ_base		((CLASS_INFO) 16384)
916
#define cinfo_ambiguous			((CLASS_INFO) 32768)
917
#define cinfo_empty			((CLASS_INFO) 65536)
918
#define cinfo_private			((CLASS_INFO) 131072)
919
#define cinfo_const			((CLASS_INFO) 262144)
920
#define cinfo_static			((CLASS_INFO) 524288)
921
#define cinfo_function			((CLASS_INFO) 1048576)
922
#define cinfo_params			((CLASS_INFO) 2097152)
923
#define cinfo_polymorphic		((CLASS_INFO) 4194304)
924
#define cinfo_poly_base			((CLASS_INFO) 8388608)
925
#define cinfo_abstract			((CLASS_INFO) 16777216)
926
#define cinfo_trivial_constr		((CLASS_INFO) 33554432)
927
#define cinfo_trivial_destr		((CLASS_INFO) 67108864)
928
#define cinfo_trivial_copy		((CLASS_INFO) 134217728)
929
#define cinfo_trivial_assign		((CLASS_INFO) 268435456)
930
#define cinfo_const_copy		((CLASS_INFO) 536870912)
931
#define cinfo_const_assign		((CLASS_INFO) 1073741824)
932
#define cinfo_usr_constr		((CLASS_INFO) 2147483648)
933
#define cinfo_key			((CLASS_INFO) 12)
934
#define cinfo_non_aggregate		((CLASS_INFO) 2151811104)
935
#define cinfo_force_copy		((CLASS_INFO) 3670016)
936
#define cinfo_trivial_make		((CLASS_INFO) 436207616)
937
#define cinfo_trivial			((CLASS_INFO) 503316480)
938
#define cinfo_implicit			((CLASS_INFO) 2113929216)
939
#define cinfo_default			((CLASS_INFO) 2113994816)
940
#define ORDER_cinfo			((unsigned long) 2151811105)
2 7u83 941
#endif
942
#define SIZE_cinfo			1
943
 
7 7u83 944
#define COPY_cinfo(A, B)		(CHECK_NULL(A)->ag_long_enum = (B))
945
#define DEREF_cinfo(A)			(CHECK_NULL(A)->ag_long_enum)
2 7u83 946
 
947
 
948
/* Definitions for enumeration CLASS_USAGE */
949
 
7 7u83 950
#define cusage_none			((CLASS_USAGE) 0)
951
#define cusage_address			((CLASS_USAGE) 1)
952
#define cusage_destr			((CLASS_USAGE) 2)
953
#define cusage_delete			((CLASS_USAGE) 4)
954
#define cusage_delete_array		((CLASS_USAGE) 8)
955
#define ORDER_cusage			((unsigned long) 9)
2 7u83 956
#define SIZE_cusage			1
957
 
7 7u83 958
#define COPY_cusage(A, B)		(CHECK_NULL(A)->ag_enum = (B))
959
#define DEREF_cusage(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 960
 
961
 
962
/* Definitions for enumeration DECL_SPEC */
963
 
964
#ifdef __STDC__
7 7u83 965
#define dspec_none			((DECL_SPEC) 0UL)
966
#define dspec_used			((DECL_SPEC) 1UL)
967
#define dspec_called			((DECL_SPEC) 2UL)
968
#define dspec_defn			((DECL_SPEC) 4UL)
969
#define dspec_inherit			((DECL_SPEC) 8UL)
970
#define dspec_alias			((DECL_SPEC) 16UL)
971
#define dspec_done			((DECL_SPEC) 32UL)
972
#define dspec_static			((DECL_SPEC) 64UL)
973
#define dspec_extern			((DECL_SPEC) 128UL)
974
#define dspec_auto			((DECL_SPEC) 256UL)
975
#define dspec_register			((DECL_SPEC) 512UL)
976
#define dspec_mutable			((DECL_SPEC) 1024UL)
977
#define dspec_inline			((DECL_SPEC) 2048UL)
978
#define dspec_virtual			((DECL_SPEC) 4096UL)
979
#define dspec_explicit			((DECL_SPEC) 8192UL)
980
#define dspec_friend			((DECL_SPEC) 16384UL)
981
#define dspec_typedef			((DECL_SPEC) 32768UL)
982
#define dspec_public			((DECL_SPEC) 65536UL)
983
#define dspec_protected			((DECL_SPEC) 131072UL)
984
#define dspec_private			((DECL_SPEC) 196608UL)
985
#define dspec_public2			((DECL_SPEC) 262144UL)
986
#define dspec_protected2		((DECL_SPEC) 524288UL)
987
#define dspec_private2			((DECL_SPEC) 786432UL)
988
#define dspec_c				((DECL_SPEC) 1048576UL)
989
#define dspec_cpp			((DECL_SPEC) 2097152UL)
990
#define dspec_ignore			((DECL_SPEC) 4194304UL)
991
#define dspec_implicit			((DECL_SPEC) 8388608UL)
992
#define dspec_instance			((DECL_SPEC) 16777216UL)
993
#define dspec_main			((DECL_SPEC) 33554432UL)
994
#define dspec_pure			((DECL_SPEC) 67108864UL)
995
#define dspec_reserve			((DECL_SPEC) 134217728UL)
996
#define dspec_temp			((DECL_SPEC) 268435456UL)
997
#define dspec_template			((DECL_SPEC) 536870912UL)
998
#define dspec_token			((DECL_SPEC) 1073741824UL)
999
#define dspec_trivial			((DECL_SPEC) 2147483648UL)
1000
#define dspec_linkage			((DECL_SPEC) 192UL)
1001
#define dspec_storage			((DECL_SPEC) 1984UL)
1002
#define dspec_function			((DECL_SPEC) 14336UL)
1003
#define dspec_keyword			((DECL_SPEC) 65472UL)
1004
#define dspec_duplicate			((DECL_SPEC) 65472UL)
1005
#define dspec_access			((DECL_SPEC) 196608UL)
1006
#define dspec_access2			((DECL_SPEC) 786432UL)
1007
#define dspec_language			((DECL_SPEC) 3145728UL)
1008
#define dspec_other			((DECL_SPEC) 4290772992UL)
1009
#define ORDER_dspec			(4290772993UL)
2 7u83 1010
#else
7 7u83 1011
#define dspec_none			((DECL_SPEC) 0)
1012
#define dspec_used			((DECL_SPEC) 1)
1013
#define dspec_called			((DECL_SPEC) 2)
1014
#define dspec_defn			((DECL_SPEC) 4)
1015
#define dspec_inherit			((DECL_SPEC) 8)
1016
#define dspec_alias			((DECL_SPEC) 16)
1017
#define dspec_done			((DECL_SPEC) 32)
1018
#define dspec_static			((DECL_SPEC) 64)
1019
#define dspec_extern			((DECL_SPEC) 128)
1020
#define dspec_auto			((DECL_SPEC) 256)
1021
#define dspec_register			((DECL_SPEC) 512)
1022
#define dspec_mutable			((DECL_SPEC) 1024)
1023
#define dspec_inline			((DECL_SPEC) 2048)
1024
#define dspec_virtual			((DECL_SPEC) 4096)
1025
#define dspec_explicit			((DECL_SPEC) 8192)
1026
#define dspec_friend			((DECL_SPEC) 16384)
1027
#define dspec_typedef			((DECL_SPEC) 32768)
1028
#define dspec_public			((DECL_SPEC) 65536)
1029
#define dspec_protected			((DECL_SPEC) 131072)
1030
#define dspec_private			((DECL_SPEC) 196608)
1031
#define dspec_public2			((DECL_SPEC) 262144)
1032
#define dspec_protected2		((DECL_SPEC) 524288)
1033
#define dspec_private2			((DECL_SPEC) 786432)
1034
#define dspec_c				((DECL_SPEC) 1048576)
1035
#define dspec_cpp			((DECL_SPEC) 2097152)
1036
#define dspec_ignore			((DECL_SPEC) 4194304)
1037
#define dspec_implicit			((DECL_SPEC) 8388608)
1038
#define dspec_instance			((DECL_SPEC) 16777216)
1039
#define dspec_main			((DECL_SPEC) 33554432)
1040
#define dspec_pure			((DECL_SPEC) 67108864)
1041
#define dspec_reserve			((DECL_SPEC) 134217728)
1042
#define dspec_temp			((DECL_SPEC) 268435456)
1043
#define dspec_template			((DECL_SPEC) 536870912)
1044
#define dspec_token			((DECL_SPEC) 1073741824)
1045
#define dspec_trivial			((DECL_SPEC) 2147483648)
1046
#define dspec_linkage			((DECL_SPEC) 192)
1047
#define dspec_storage			((DECL_SPEC) 1984)
1048
#define dspec_function			((DECL_SPEC) 14336)
1049
#define dspec_keyword			((DECL_SPEC) 65472)
1050
#define dspec_duplicate			((DECL_SPEC) 65472)
1051
#define dspec_access			((DECL_SPEC) 196608)
1052
#define dspec_access2			((DECL_SPEC) 786432)
1053
#define dspec_language			((DECL_SPEC) 3145728)
1054
#define dspec_other			((DECL_SPEC) 4290772992)
1055
#define ORDER_dspec			((unsigned long) 4290772993)
2 7u83 1056
#endif
1057
#define SIZE_dspec			1
1058
 
7 7u83 1059
#define COPY_dspec(A, B)		(CHECK_NULL(A)->ag_long_enum = (B))
1060
#define DEREF_dspec(A)			(CHECK_NULL(A)->ag_long_enum)
1061
#define CONS_dspec(A, B, C)\
2 7u83 1062
    {\
7 7u83 1063
	c_class *x45_ = GEN_c_class(2, TYPEID_list);\
1064
	COPY_dspec(x45_ + 1, (A));\
1065
	x45_->ag_ptr = (B);\
1066
	(C) = x45_;\
2 7u83 1067
    }
1068
 
7 7u83 1069
#define UN_CONS_dspec(A, B, C)\
2 7u83 1070
    {\
7 7u83 1071
	c_class *x46_ = CHECK_NULL(C);\
1072
	(A) = DEREF_dspec(x46_ + 1);\
1073
	(B) = x46_->ag_ptr;\
2 7u83 1074
    }
1075
 
7 7u83 1076
#define DESTROY_CONS_dspec(D, A, B, C)\
2 7u83 1077
    {\
7 7u83 1078
	c_class *x47_ = CHECK_NULL(C);\
1079
	(A) = DEREF_dspec(x47_ + 1);\
1080
	(B) = x47_->ag_ptr;\
1081
	(D)(x47_, (unsigned)2);\
2 7u83 1082
    }
1083
 
7 7u83 1084
#define PUSH_dspec(A, B)\
2 7u83 1085
    {\
7 7u83 1086
	c_class **r48_ = &(B);\
1087
	c_class *x48_ = GEN_c_class(2, TYPEID_stack);\
1088
	COPY_dspec(x48_ + 1, (A));\
1089
	x48_->ag_ptr = *r48_;\
1090
	*r48_ = x48_;\
2 7u83 1091
    }
1092
 
7 7u83 1093
#define POP_dspec(A, B)\
2 7u83 1094
    {\
7 7u83 1095
	c_class **r49_ = &(B);\
1096
	c_class *x49_ = CHECK_NULL(*r49_);\
1097
	(A) = DEREF_dspec(x49_ + 1);\
1098
	*r49_ = x49_->ag_ptr;\
1099
	destroy_c_class(x49_, (unsigned)2);\
2 7u83 1100
    }
1101
 
1102
 
1103
/* Definitions for enumeration QUALIFIER */
1104
 
7 7u83 1105
#define qual_none			((QUALIFIER) 0)
1106
#define qual_nested			((QUALIFIER) 1)
1107
#define qual_full			((QUALIFIER) 2)
1108
#define qual_top			((QUALIFIER) 3)
1109
#define qual_mark			((QUALIFIER) 4)
1110
#define qual_explicit			((QUALIFIER) 3)
1111
#define ORDER_qual			((unsigned long) 5)
2 7u83 1112
#define SIZE_qual			1
1113
 
7 7u83 1114
#define COPY_qual(A, B)			(CHECK_NULL(A)->ag_enum = (B))
1115
#define DEREF_qual(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 1116
 
1117
 
1118
/* Definitions for enumeration NTEST */
1119
 
7 7u83 1120
#define ntest_eq			((NTEST) 0)
1121
#define ntest_greater			((NTEST) 1)
1122
#define ntest_greater_eq		((NTEST) 2)
1123
#define ntest_less			((NTEST) 3)
1124
#define ntest_less_eq			((NTEST) 4)
1125
#define ntest_not_eq			((NTEST) 5)
1126
#define ntest_not_greater		((NTEST) 6)
1127
#define ntest_not_greater_eq		((NTEST) 7)
1128
#define ntest_not_less			((NTEST) 8)
1129
#define ntest_not_less_eq		((NTEST) 9)
1130
#define ntest_not_not_eq		((NTEST) 10)
1131
#define ntest_none			((NTEST) 11)
1132
#define ntest_negate			((NTEST) 5)
1133
#define ntest_not			((NTEST) 5)
1134
#define ntest_not_not			((NTEST) 10)
1135
#define ORDER_ntest			((unsigned long) 12)
2 7u83 1136
#define SIZE_ntest			1
1137
 
7 7u83 1138
#define COPY_ntest(A, B)		(CHECK_NULL(A)->ag_enum = (B))
1139
#define DEREF_ntest(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 1140
 
1141
 
1142
/* Definitions for enumeration RMODE */
1143
 
7 7u83 1144
#define rmode_as_state			((RMODE) 0)
1145
#define rmode_to_nearest		((RMODE) 1)
1146
#define rmode_to_larger			((RMODE) 2)
1147
#define rmode_to_smaller		((RMODE) 3)
1148
#define rmode_to_zero			((RMODE) 4)
1149
#define ORDER_rmode			((unsigned long) 5)
2 7u83 1150
#define SIZE_rmode			1
1151
 
7 7u83 1152
#define COPY_rmode(A, B)		(CHECK_NULL(A)->ag_enum = (B))
1153
#define DEREF_rmode(A)			(CHECK_NULL(A)->ag_enum)
2 7u83 1154
 
1155
 
1156
/* Definitions for structure VARIABLE */
1157
 
7 7u83 1158
#define var_id(P)			((P) + 0)
1159
#define var_info(P)			((P) + 1)
2 7u83 1160
#define SIZE_var			2
1161
 
7 7u83 1162
#define COPY_var(A, B)\
2 7u83 1163
    {\
7 7u83 1164
	c_class *x50_ = CHECK_NULL(A);\
1165
	VARIABLE y50_;\
1166
	y50_ = (B);\
1167
	COPY_id(x50_ + 0, y50_.id);\
1168
	COPY_dspec(x50_ + 1, y50_.info);\
2 7u83 1169
    }
1170
 
7 7u83 1171
#define DEREF_var(A, B)\
2 7u83 1172
    {\
7 7u83 1173
	c_class *x51_ = CHECK_NULL(A);\
1174
	VARIABLE *y51_ = &(B);\
1175
	y51_->id = DEREF_id(x51_ + 0);\
1176
	y51_->info = DEREF_dspec(x51_ + 1);\
2 7u83 1177
    }
1178
 
7 7u83 1179
#define MAKE_var(id_, info_, var_)\
2 7u83 1180
    {\
7 7u83 1181
	c_class *x52_ = CHECK_NULL(var_);\
1182
	COPY_id(x52_ + 0, (id_));\
1183
	COPY_dspec(x52_ + 1, (info_));\
2 7u83 1184
    }
1185
 
7 7u83 1186
#define CONS_var(A, B, C)\
2 7u83 1187
    {\
7 7u83 1188
	c_class *x53_ = GEN_c_class(3, TYPEID_list);\
1189
	COPY_var(x53_ + 1, (A));\
1190
	x53_->ag_ptr = (B);\
1191
	(C) = x53_;\
2 7u83 1192
    }
1193
 
7 7u83 1194
#define UN_CONS_var(A, B, C)\
2 7u83 1195
    {\
7 7u83 1196
	c_class *x54_ = CHECK_NULL(C);\
1197
	DEREF_var(x54_ + 1, (A));\
1198
	(B) = x54_->ag_ptr;\
2 7u83 1199
    }
1200
 
7 7u83 1201
#define DESTROY_CONS_var(D, A, B, C)\
2 7u83 1202
    {\
7 7u83 1203
	c_class *x55_ = CHECK_NULL(C);\
1204
	DEREF_var(x55_ + 1, (A));\
1205
	(B) = x55_->ag_ptr;\
1206
	(D)(x55_, (unsigned)3);\
2 7u83 1207
    }
1208
 
7 7u83 1209
#define PUSH_var(A, B)\
2 7u83 1210
    {\
7 7u83 1211
	c_class **r56_ = &(B);\
1212
	c_class *x56_ = GEN_c_class(3, TYPEID_stack);\
1213
	COPY_var(x56_ + 1, (A));\
1214
	x56_->ag_ptr = *r56_;\
1215
	*r56_ = x56_;\
2 7u83 1216
    }
1217
 
7 7u83 1218
#define POP_var(A, B)\
2 7u83 1219
    {\
7 7u83 1220
	c_class **r57_ = &(B);\
1221
	c_class *x57_ = CHECK_NULL(*r57_);\
1222
	DEREF_var(x57_ + 1, (A));\
1223
	*r57_ = x57_->ag_ptr;\
1224
	destroy_c_class(x57_, (unsigned)3);\
2 7u83 1225
    }
1226
 
1227
 
1228
/* Definitions for structure LOCATION */
1229
 
7 7u83 1230
#define loc_line(P)			((P) + 0)
1231
#define loc_column(P)			((P) + 1)
1232
#define loc_posn(P)			((P) + 2)
2 7u83 1233
#define SIZE_loc			3
1234
 
7 7u83 1235
#define COPY_loc(A, B)\
2 7u83 1236
    {\
7 7u83 1237
	c_class *x58_ = CHECK_NULL(A);\
1238
	LOCATION y58_;\
1239
	y58_ = (B);\
1240
	COPY_ulong(x58_ + 0, y58_.line);\
1241
	COPY_ulong(x58_ + 1, y58_.column);\
1242
	COPY_ptr(x58_ + 2, y58_.posn);\
2 7u83 1243
    }
1244
 
7 7u83 1245
#define DEREF_loc(A, B)\
2 7u83 1246
    {\
7 7u83 1247
	c_class *x59_ = CHECK_NULL(A);\
1248
	LOCATION *y59_ = &(B);\
1249
	y59_->line = DEREF_ulong(x59_ + 0);\
1250
	y59_->column = DEREF_ulong(x59_ + 1);\
1251
	y59_->posn = DEREF_ptr(x59_ + 2);\
2 7u83 1252
    }
1253
 
7 7u83 1254
#define MAKE_loc(line_, column_, posn_, loc_)\
2 7u83 1255
    {\
7 7u83 1256
	c_class *x60_ = CHECK_NULL(loc_);\
1257
	COPY_ulong(x60_ + 0, (line_));\
1258
	COPY_ulong(x60_ + 1, (column_));\
1259
	COPY_ptr(x60_ + 2, (posn_));\
2 7u83 1260
    }
1261
 
7 7u83 1262
#define CONS_loc(A, B, C)\
2 7u83 1263
    {\
7 7u83 1264
	c_class *x61_ = GEN_c_class(4, TYPEID_list);\
1265
	COPY_loc(x61_ + 1, (A));\
1266
	x61_->ag_ptr = (B);\
1267
	(C) = x61_;\
2 7u83 1268
    }
1269
 
7 7u83 1270
#define UN_CONS_loc(A, B, C)\
2 7u83 1271
    {\
7 7u83 1272
	c_class *x62_ = CHECK_NULL(C);\
1273
	DEREF_loc(x62_ + 1, (A));\
1274
	(B) = x62_->ag_ptr;\
2 7u83 1275
    }
1276
 
7 7u83 1277
#define DESTROY_CONS_loc(D, A, B, C)\
2 7u83 1278
    {\
7 7u83 1279
	c_class *x63_ = CHECK_NULL(C);\
1280
	DEREF_loc(x63_ + 1, (A));\
1281
	(B) = x63_->ag_ptr;\
1282
	(D)(x63_, (unsigned)4);\
2 7u83 1283
    }
1284
 
7 7u83 1285
#define PUSH_loc(A, B)\
2 7u83 1286
    {\
7 7u83 1287
	c_class **r64_ = &(B);\
1288
	c_class *x64_ = GEN_c_class(4, TYPEID_stack);\
1289
	COPY_loc(x64_ + 1, (A));\
1290
	x64_->ag_ptr = *r64_;\
1291
	*r64_ = x64_;\
2 7u83 1292
    }
1293
 
7 7u83 1294
#define POP_loc(A, B)\
2 7u83 1295
    {\
7 7u83 1296
	c_class **r65_ = &(B);\
1297
	c_class *x65_ = CHECK_NULL(*r65_);\
1298
	DEREF_loc(x65_ + 1, (A));\
1299
	*r65_ = x65_->ag_ptr;\
1300
	destroy_c_class(x65_, (unsigned)4);\
2 7u83 1301
    }
1302
 
1303
 
1304
/* Definitions for structure POSITION */
1305
 
7 7u83 1306
#define posn_file(P)			((P) + 0)
1307
#define posn_input(P)			((P) + 1)
1308
#define posn_base(P)			((P) + 2)
1309
#define posn_dir(P)			((P) + 3)
1310
#define posn_offset(P)			((P) + 4)
1311
#define posn_from(P)			((P) + 5)
1312
#define posn_datestamp(P)		((P) + 6)
1313
#define posn_tok(P)			((P) + 7)
2 7u83 1314
#define SIZE_posn			8
1315
 
7 7u83 1316
#define COPY_posn(A, B)\
2 7u83 1317
    {\
7 7u83 1318
	c_class *x66_ = CHECK_NULL(A);\
1319
	POSITION y66_;\
1320
	y66_ = (B);\
1321
	COPY_string(x66_ + 0, y66_.file);\
1322
	COPY_string(x66_ + 1, y66_.input);\
1323
	COPY_string(x66_ + 2, y66_.base);\
1324
	COPY_string(x66_ + 3, y66_.dir);\
1325
	COPY_ulong(x66_ + 4, y66_.offset);\
1326
	COPY_ptr(x66_ + 5, y66_.from);\
1327
	COPY_ulong(x66_ + 6, y66_.datestamp);\
1328
	COPY_ulong(x66_ + 7, y66_.tok);\
2 7u83 1329
    }
1330
 
7 7u83 1331
#define DEREF_posn(A, B)\
2 7u83 1332
    {\
7 7u83 1333
	c_class *x67_ = CHECK_NULL(A);\
1334
	POSITION *y67_ = &(B);\
1335
	y67_->file = DEREF_string(x67_ + 0);\
1336
	y67_->input = DEREF_string(x67_ + 1);\
1337
	y67_->base = DEREF_string(x67_ + 2);\
1338
	y67_->dir = DEREF_string(x67_ + 3);\
1339
	y67_->offset = DEREF_ulong(x67_ + 4);\
1340
	y67_->from = DEREF_ptr(x67_ + 5);\
1341
	y67_->datestamp = DEREF_ulong(x67_ + 6);\
1342
	y67_->tok = DEREF_ulong(x67_ + 7);\
2 7u83 1343
    }
1344
 
7 7u83 1345
#define MAKE_posn(file_, input_, base_, dir_, offset_, from_, datestamp_, posn_)\
2 7u83 1346
    {\
7 7u83 1347
	c_class *x68_ = CHECK_NULL(posn_);\
1348
	COPY_string(x68_ + 0, (file_));\
1349
	COPY_string(x68_ + 1, (input_));\
1350
	COPY_string(x68_ + 2, (base_));\
1351
	COPY_string(x68_ + 3, (dir_));\
1352
	COPY_ulong(x68_ + 4, (offset_));\
1353
	COPY_ptr(x68_ + 5, (from_));\
1354
	COPY_ulong(x68_ + 6, (datestamp_));\
1355
	COPY_ulong(x68_ + 7, LINK_NONE);\
2 7u83 1356
    }
1357
 
7 7u83 1358
#define CONS_posn(A, B, C)\
2 7u83 1359
    {\
7 7u83 1360
	c_class *x69_ = GEN_c_class(9, TYPEID_list);\
1361
	COPY_posn(x69_ + 1, (A));\
1362
	x69_->ag_ptr = (B);\
1363
	(C) = x69_;\
2 7u83 1364
    }
1365
 
7 7u83 1366
#define UN_CONS_posn(A, B, C)\
2 7u83 1367
    {\
7 7u83 1368
	c_class *x70_ = CHECK_NULL(C);\
1369
	DEREF_posn(x70_ + 1, (A));\
1370
	(B) = x70_->ag_ptr;\
2 7u83 1371
    }
1372
 
7 7u83 1373
#define DESTROY_CONS_posn(D, A, B, C)\
2 7u83 1374
    {\
7 7u83 1375
	c_class *x71_ = CHECK_NULL(C);\
1376
	DEREF_posn(x71_ + 1, (A));\
1377
	(B) = x71_->ag_ptr;\
1378
	(D)(x71_, (unsigned)9);\
2 7u83 1379
    }
1380
 
7 7u83 1381
#define PUSH_posn(A, B)\
2 7u83 1382
    {\
7 7u83 1383
	c_class **r72_ = &(B);\
1384
	c_class *x72_ = GEN_c_class(9, TYPEID_stack);\
1385
	COPY_posn(x72_ + 1, (A));\
1386
	x72_->ag_ptr = *r72_;\
1387
	*r72_ = x72_;\
2 7u83 1388
    }
1389
 
7 7u83 1390
#define POP_posn(A, B)\
2 7u83 1391
    {\
7 7u83 1392
	c_class **r73_ = &(B);\
1393
	c_class *x73_ = CHECK_NULL(*r73_);\
1394
	DEREF_posn(x73_ + 1, (A));\
1395
	*r73_ = x73_->ag_ptr;\
1396
	destroy_c_class(x73_, (unsigned)9);\
2 7u83 1397
    }
1398
 
1399
 
1400
/* Definitions for union INT_TYPE */
1401
 
7 7u83 1402
#define ORDER_itype			((unsigned) 6)
2 7u83 1403
#define SIZE_itype			1
7 7u83 1404
#define NULL_itype			((INT_TYPE) 0)
1405
#define IS_NULL_itype(A)		((A) == 0)
1406
#define EQ_itype(A, B)			((A) == (B))
2 7u83 1407
 
7 7u83 1408
#define COPY_itype(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1409
#define DEREF_itype(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1410
 
7 7u83 1411
#define CONS_itype(A, B, C)\
2 7u83 1412
    {\
7 7u83 1413
	c_class *x74_ = GEN_c_class(2, TYPEID_list);\
1414
	COPY_itype(x74_ + 1, (A));\
1415
	x74_->ag_ptr = (B);\
1416
	(C) = x74_;\
2 7u83 1417
    }
1418
 
7 7u83 1419
#define UN_CONS_itype(A, B, C)\
2 7u83 1420
    {\
7 7u83 1421
	c_class *x75_ = CHECK_NULL(C);\
1422
	(A) = DEREF_itype(x75_ + 1);\
1423
	(B) = x75_->ag_ptr;\
2 7u83 1424
    }
1425
 
7 7u83 1426
#define DESTROY_CONS_itype(D, A, B, C)\
2 7u83 1427
    {\
7 7u83 1428
	c_class *x76_ = CHECK_NULL(C);\
1429
	(A) = DEREF_itype(x76_ + 1);\
1430
	(B) = x76_->ag_ptr;\
1431
	(D)(x76_, (unsigned)2);\
2 7u83 1432
    }
1433
 
7 7u83 1434
#define PUSH_itype(A, B)\
2 7u83 1435
    {\
7 7u83 1436
	c_class **r77_ = &(B);\
1437
	c_class *x77_ = GEN_c_class(2, TYPEID_stack);\
1438
	COPY_itype(x77_ + 1, (A));\
1439
	x77_->ag_ptr = *r77_;\
1440
	*r77_ = x77_;\
2 7u83 1441
    }
1442
 
7 7u83 1443
#define POP_itype(A, B)\
2 7u83 1444
    {\
7 7u83 1445
	c_class **r78_ = &(B);\
1446
	c_class *x78_ = CHECK_NULL(*r78_);\
1447
	(A) = DEREF_itype(x78_ + 1);\
1448
	*r78_ = x78_->ag_ptr;\
1449
	destroy_c_class(x78_, (unsigned)2);\
2 7u83 1450
    }
1451
 
1452
 
1453
/* Definitions for union FLOAT_TYPE */
1454
 
7 7u83 1455
#define ORDER_ftype			((unsigned) 4)
2 7u83 1456
#define SIZE_ftype			1
7 7u83 1457
#define NULL_ftype			((FLOAT_TYPE) 0)
1458
#define IS_NULL_ftype(A)		((A) == 0)
1459
#define EQ_ftype(A, B)			((A) == (B))
2 7u83 1460
 
7 7u83 1461
#define COPY_ftype(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1462
#define DEREF_ftype(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1463
 
7 7u83 1464
#define CONS_ftype(A, B, C)\
2 7u83 1465
    {\
7 7u83 1466
	c_class *x79_ = GEN_c_class(2, TYPEID_list);\
1467
	COPY_ftype(x79_ + 1, (A));\
1468
	x79_->ag_ptr = (B);\
1469
	(C) = x79_;\
2 7u83 1470
    }
1471
 
7 7u83 1472
#define UN_CONS_ftype(A, B, C)\
2 7u83 1473
    {\
7 7u83 1474
	c_class *x80_ = CHECK_NULL(C);\
1475
	(A) = DEREF_ftype(x80_ + 1);\
1476
	(B) = x80_->ag_ptr;\
2 7u83 1477
    }
1478
 
7 7u83 1479
#define DESTROY_CONS_ftype(D, A, B, C)\
2 7u83 1480
    {\
7 7u83 1481
	c_class *x81_ = CHECK_NULL(C);\
1482
	(A) = DEREF_ftype(x81_ + 1);\
1483
	(B) = x81_->ag_ptr;\
1484
	(D)(x81_, (unsigned)2);\
2 7u83 1485
    }
1486
 
7 7u83 1487
#define PUSH_ftype(A, B)\
2 7u83 1488
    {\
7 7u83 1489
	c_class **r82_ = &(B);\
1490
	c_class *x82_ = GEN_c_class(2, TYPEID_stack);\
1491
	COPY_ftype(x82_ + 1, (A));\
1492
	x82_->ag_ptr = *r82_;\
1493
	*r82_ = x82_;\
2 7u83 1494
    }
1495
 
7 7u83 1496
#define POP_ftype(A, B)\
2 7u83 1497
    {\
7 7u83 1498
	c_class **r83_ = &(B);\
1499
	c_class *x83_ = CHECK_NULL(*r83_);\
1500
	(A) = DEREF_ftype(x83_ + 1);\
1501
	*r83_ = x83_->ag_ptr;\
1502
	destroy_c_class(x83_, (unsigned)2);\
2 7u83 1503
    }
1504
 
1505
 
1506
/* Definitions for union CLASS_TYPE */
1507
 
7 7u83 1508
#define ORDER_ctype			((unsigned) 1)
2 7u83 1509
#define SIZE_ctype			1
7 7u83 1510
#define NULL_ctype			((CLASS_TYPE) 0)
1511
#define IS_NULL_ctype(A)		((A) == 0)
1512
#define EQ_ctype(A, B)			((A) == (B))
2 7u83 1513
 
7 7u83 1514
#define COPY_ctype(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1515
#define DEREF_ctype(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1516
 
7 7u83 1517
#define CONS_ctype(A, B, C)\
2 7u83 1518
    {\
7 7u83 1519
	c_class *x84_ = GEN_c_class(2, TYPEID_list);\
1520
	COPY_ctype(x84_ + 1, (A));\
1521
	x84_->ag_ptr = (B);\
1522
	(C) = x84_;\
2 7u83 1523
    }
1524
 
7 7u83 1525
#define UN_CONS_ctype(A, B, C)\
2 7u83 1526
    {\
7 7u83 1527
	c_class *x85_ = CHECK_NULL(C);\
1528
	(A) = DEREF_ctype(x85_ + 1);\
1529
	(B) = x85_->ag_ptr;\
2 7u83 1530
    }
1531
 
7 7u83 1532
#define DESTROY_CONS_ctype(D, A, B, C)\
2 7u83 1533
    {\
7 7u83 1534
	c_class *x86_ = CHECK_NULL(C);\
1535
	(A) = DEREF_ctype(x86_ + 1);\
1536
	(B) = x86_->ag_ptr;\
1537
	(D)(x86_, (unsigned)2);\
2 7u83 1538
    }
1539
 
7 7u83 1540
#define PUSH_ctype(A, B)\
2 7u83 1541
    {\
7 7u83 1542
	c_class **r87_ = &(B);\
1543
	c_class *x87_ = GEN_c_class(2, TYPEID_stack);\
1544
	COPY_ctype(x87_ + 1, (A));\
1545
	x87_->ag_ptr = *r87_;\
1546
	*r87_ = x87_;\
2 7u83 1547
    }
1548
 
7 7u83 1549
#define POP_ctype(A, B)\
2 7u83 1550
    {\
7 7u83 1551
	c_class **r88_ = &(B);\
1552
	c_class *x88_ = CHECK_NULL(*r88_);\
1553
	(A) = DEREF_ctype(x88_ + 1);\
1554
	*r88_ = x88_->ag_ptr;\
1555
	destroy_c_class(x88_, (unsigned)2);\
2 7u83 1556
    }
1557
 
1558
 
1559
/* Definitions for union GRAPH */
1560
 
7 7u83 1561
#define ORDER_graph			((unsigned) 1)
2 7u83 1562
#define SIZE_graph			1
7 7u83 1563
#define NULL_graph			((GRAPH) 0)
1564
#define IS_NULL_graph(A)		((A) == 0)
1565
#define EQ_graph(A, B)			((A) == (B))
2 7u83 1566
 
7 7u83 1567
#define COPY_graph(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1568
#define DEREF_graph(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1569
 
7 7u83 1570
#define CONS_graph(A, B, C)\
2 7u83 1571
    {\
7 7u83 1572
	c_class *x89_ = GEN_c_class(2, TYPEID_list);\
1573
	COPY_graph(x89_ + 1, (A));\
1574
	x89_->ag_ptr = (B);\
1575
	(C) = x89_;\
2 7u83 1576
    }
1577
 
7 7u83 1578
#define UN_CONS_graph(A, B, C)\
2 7u83 1579
    {\
7 7u83 1580
	c_class *x90_ = CHECK_NULL(C);\
1581
	(A) = DEREF_graph(x90_ + 1);\
1582
	(B) = x90_->ag_ptr;\
2 7u83 1583
    }
1584
 
7 7u83 1585
#define DESTROY_CONS_graph(D, A, B, C)\
2 7u83 1586
    {\
7 7u83 1587
	c_class *x91_ = CHECK_NULL(C);\
1588
	(A) = DEREF_graph(x91_ + 1);\
1589
	(B) = x91_->ag_ptr;\
1590
	(D)(x91_, (unsigned)2);\
2 7u83 1591
    }
1592
 
7 7u83 1593
#define PUSH_graph(A, B)\
2 7u83 1594
    {\
7 7u83 1595
	c_class **r92_ = &(B);\
1596
	c_class *x92_ = GEN_c_class(2, TYPEID_stack);\
1597
	COPY_graph(x92_ + 1, (A));\
1598
	x92_->ag_ptr = *r92_;\
1599
	*r92_ = x92_;\
2 7u83 1600
    }
1601
 
7 7u83 1602
#define POP_graph(A, B)\
2 7u83 1603
    {\
7 7u83 1604
	c_class **r93_ = &(B);\
1605
	c_class *x93_ = CHECK_NULL(*r93_);\
1606
	(A) = DEREF_graph(x93_ + 1);\
1607
	*r93_ = x93_->ag_ptr;\
1608
	destroy_c_class(x93_, (unsigned)2);\
2 7u83 1609
    }
1610
 
1611
 
1612
/* Definitions for union VIRTUAL */
1613
 
7 7u83 1614
#define ORDER_virt			((unsigned) 6)
2 7u83 1615
#define SIZE_virt			1
7 7u83 1616
#define NULL_virt			((VIRTUAL) 0)
1617
#define IS_NULL_virt(A)			((A) == 0)
1618
#define EQ_virt(A, B)			((A) == (B))
2 7u83 1619
 
7 7u83 1620
#define COPY_virt(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
1621
#define DEREF_virt(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1622
 
7 7u83 1623
#define CONS_virt(A, B, C)\
2 7u83 1624
    {\
7 7u83 1625
	c_class *x94_ = GEN_c_class(2, TYPEID_list);\
1626
	COPY_virt(x94_ + 1, (A));\
1627
	x94_->ag_ptr = (B);\
1628
	(C) = x94_;\
2 7u83 1629
    }
1630
 
7 7u83 1631
#define UN_CONS_virt(A, B, C)\
2 7u83 1632
    {\
7 7u83 1633
	c_class *x95_ = CHECK_NULL(C);\
1634
	(A) = DEREF_virt(x95_ + 1);\
1635
	(B) = x95_->ag_ptr;\
2 7u83 1636
    }
1637
 
7 7u83 1638
#define DESTROY_CONS_virt(D, A, B, C)\
2 7u83 1639
    {\
7 7u83 1640
	c_class *x96_ = CHECK_NULL(C);\
1641
	(A) = DEREF_virt(x96_ + 1);\
1642
	(B) = x96_->ag_ptr;\
1643
	(D)(x96_, (unsigned)2);\
2 7u83 1644
    }
1645
 
7 7u83 1646
#define PUSH_virt(A, B)\
2 7u83 1647
    {\
7 7u83 1648
	c_class **r97_ = &(B);\
1649
	c_class *x97_ = GEN_c_class(2, TYPEID_stack);\
1650
	COPY_virt(x97_ + 1, (A));\
1651
	x97_->ag_ptr = *r97_;\
1652
	*r97_ = x97_;\
2 7u83 1653
    }
1654
 
7 7u83 1655
#define POP_virt(A, B)\
2 7u83 1656
    {\
7 7u83 1657
	c_class **r98_ = &(B);\
1658
	c_class *x98_ = CHECK_NULL(*r98_);\
1659
	(A) = DEREF_virt(x98_ + 1);\
1660
	*r98_ = x98_->ag_ptr;\
1661
	destroy_c_class(x98_, (unsigned)2);\
2 7u83 1662
    }
1663
 
1664
 
1665
/* Definitions for union ENUM_TYPE */
1666
 
7 7u83 1667
#define ORDER_etype			((unsigned) 1)
2 7u83 1668
#define SIZE_etype			1
7 7u83 1669
#define NULL_etype			((ENUM_TYPE) 0)
1670
#define IS_NULL_etype(A)		((A) == 0)
1671
#define EQ_etype(A, B)			((A) == (B))
2 7u83 1672
 
7 7u83 1673
#define COPY_etype(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1674
#define DEREF_etype(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1675
 
7 7u83 1676
#define CONS_etype(A, B, C)\
2 7u83 1677
    {\
7 7u83 1678
	c_class *x99_ = GEN_c_class(2, TYPEID_list);\
1679
	COPY_etype(x99_ + 1, (A));\
1680
	x99_->ag_ptr = (B);\
1681
	(C) = x99_;\
2 7u83 1682
    }
1683
 
7 7u83 1684
#define UN_CONS_etype(A, B, C)\
2 7u83 1685
    {\
7 7u83 1686
	c_class *x100_ = CHECK_NULL(C);\
1687
	(A) = DEREF_etype(x100_ + 1);\
1688
	(B) = x100_->ag_ptr;\
2 7u83 1689
    }
1690
 
7 7u83 1691
#define DESTROY_CONS_etype(D, A, B, C)\
2 7u83 1692
    {\
7 7u83 1693
	c_class *x101_ = CHECK_NULL(C);\
1694
	(A) = DEREF_etype(x101_ + 1);\
1695
	(B) = x101_->ag_ptr;\
1696
	(D)(x101_, (unsigned)2);\
2 7u83 1697
    }
1698
 
7 7u83 1699
#define PUSH_etype(A, B)\
2 7u83 1700
    {\
7 7u83 1701
	c_class **r102_ = &(B);\
1702
	c_class *x102_ = GEN_c_class(2, TYPEID_stack);\
1703
	COPY_etype(x102_ + 1, (A));\
1704
	x102_->ag_ptr = *r102_;\
1705
	*r102_ = x102_;\
2 7u83 1706
    }
1707
 
7 7u83 1708
#define POP_etype(A, B)\
2 7u83 1709
    {\
7 7u83 1710
	c_class **r103_ = &(B);\
1711
	c_class *x103_ = CHECK_NULL(*r103_);\
1712
	(A) = DEREF_etype(x103_ + 1);\
1713
	*r103_ = x103_->ag_ptr;\
1714
	destroy_c_class(x103_, (unsigned)2);\
2 7u83 1715
    }
1716
 
1717
 
1718
/* Definitions for union TYPE */
1719
 
7 7u83 1720
#define ORDER_type			((unsigned) 18)
2 7u83 1721
#define SIZE_type			1
7 7u83 1722
#define NULL_type			((TYPE) 0)
1723
#define IS_NULL_type(A)			((A) == 0)
1724
#define EQ_type(A, B)			((A) == (B))
2 7u83 1725
 
7 7u83 1726
#define COPY_type(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
1727
#define DEREF_type(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1728
 
7 7u83 1729
#define CONS_type(A, B, C)\
2 7u83 1730
    {\
7 7u83 1731
	c_class *x104_ = GEN_c_class(2, TYPEID_list);\
1732
	COPY_type(x104_ + 1, (A));\
1733
	x104_->ag_ptr = (B);\
1734
	(C) = x104_;\
2 7u83 1735
    }
1736
 
7 7u83 1737
#define UN_CONS_type(A, B, C)\
2 7u83 1738
    {\
7 7u83 1739
	c_class *x105_ = CHECK_NULL(C);\
1740
	(A) = DEREF_type(x105_ + 1);\
1741
	(B) = x105_->ag_ptr;\
2 7u83 1742
    }
1743
 
7 7u83 1744
#define DESTROY_CONS_type(D, A, B, C)\
2 7u83 1745
    {\
7 7u83 1746
	c_class *x106_ = CHECK_NULL(C);\
1747
	(A) = DEREF_type(x106_ + 1);\
1748
	(B) = x106_->ag_ptr;\
1749
	(D)(x106_, (unsigned)2);\
2 7u83 1750
    }
1751
 
7 7u83 1752
#define PUSH_type(A, B)\
2 7u83 1753
    {\
7 7u83 1754
	c_class **r107_ = &(B);\
1755
	c_class *x107_ = GEN_c_class(2, TYPEID_stack);\
1756
	COPY_type(x107_ + 1, (A));\
1757
	x107_->ag_ptr = *r107_;\
1758
	*r107_ = x107_;\
2 7u83 1759
    }
1760
 
7 7u83 1761
#define POP_type(A, B)\
2 7u83 1762
    {\
7 7u83 1763
	c_class **r108_ = &(B);\
1764
	c_class *x108_ = CHECK_NULL(*r108_);\
1765
	(A) = DEREF_type(x108_ + 1);\
1766
	*r108_ = x108_->ag_ptr;\
1767
	destroy_c_class(x108_, (unsigned)2);\
2 7u83 1768
    }
1769
 
1770
 
1771
/* Definitions for union HASHID */
1772
 
7 7u83 1773
#define ORDER_hashid			((unsigned) 7)
2 7u83 1774
#define SIZE_hashid			1
7 7u83 1775
#define NULL_hashid			((HASHID) 0)
1776
#define IS_NULL_hashid(A)		((A) == 0)
1777
#define EQ_hashid(A, B)			((A) == (B))
2 7u83 1778
 
7 7u83 1779
#define COPY_hashid(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1780
#define DEREF_hashid(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1781
 
7 7u83 1782
#define CONS_hashid(A, B, C)\
2 7u83 1783
    {\
7 7u83 1784
	c_class *x109_ = GEN_c_class(2, TYPEID_list);\
1785
	COPY_hashid(x109_ + 1, (A));\
1786
	x109_->ag_ptr = (B);\
1787
	(C) = x109_;\
2 7u83 1788
    }
1789
 
7 7u83 1790
#define UN_CONS_hashid(A, B, C)\
2 7u83 1791
    {\
7 7u83 1792
	c_class *x110_ = CHECK_NULL(C);\
1793
	(A) = DEREF_hashid(x110_ + 1);\
1794
	(B) = x110_->ag_ptr;\
2 7u83 1795
    }
1796
 
7 7u83 1797
#define DESTROY_CONS_hashid(D, A, B, C)\
2 7u83 1798
    {\
7 7u83 1799
	c_class *x111_ = CHECK_NULL(C);\
1800
	(A) = DEREF_hashid(x111_ + 1);\
1801
	(B) = x111_->ag_ptr;\
1802
	(D)(x111_, (unsigned)2);\
2 7u83 1803
    }
1804
 
7 7u83 1805
#define PUSH_hashid(A, B)\
2 7u83 1806
    {\
7 7u83 1807
	c_class **r112_ = &(B);\
1808
	c_class *x112_ = GEN_c_class(2, TYPEID_stack);\
1809
	COPY_hashid(x112_ + 1, (A));\
1810
	x112_->ag_ptr = *r112_;\
1811
	*r112_ = x112_;\
2 7u83 1812
    }
1813
 
7 7u83 1814
#define POP_hashid(A, B)\
2 7u83 1815
    {\
7 7u83 1816
	c_class **r113_ = &(B);\
1817
	c_class *x113_ = CHECK_NULL(*r113_);\
1818
	(A) = DEREF_hashid(x113_ + 1);\
1819
	*r113_ = x113_->ag_ptr;\
1820
	destroy_c_class(x113_, (unsigned)2);\
2 7u83 1821
    }
1822
 
1823
 
1824
/* Definitions for union IDENTIFIER */
1825
 
7 7u83 1826
#define ORDER_id			((unsigned) 29)
2 7u83 1827
#define SIZE_id				1
7 7u83 1828
#define NULL_id				((IDENTIFIER) 0)
1829
#define IS_NULL_id(A)			((A) == 0)
1830
#define EQ_id(A, B)			((A) == (B))
2 7u83 1831
 
7 7u83 1832
#define COPY_id(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
1833
#define DEREF_id(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1834
 
7 7u83 1835
#define CONS_id(A, B, C)\
2 7u83 1836
    {\
7 7u83 1837
	c_class *x114_ = GEN_c_class(2, TYPEID_list);\
1838
	COPY_id(x114_ + 1, (A));\
1839
	x114_->ag_ptr = (B);\
1840
	(C) = x114_;\
2 7u83 1841
    }
1842
 
7 7u83 1843
#define UN_CONS_id(A, B, C)\
2 7u83 1844
    {\
7 7u83 1845
	c_class *x115_ = CHECK_NULL(C);\
1846
	(A) = DEREF_id(x115_ + 1);\
1847
	(B) = x115_->ag_ptr;\
2 7u83 1848
    }
1849
 
7 7u83 1850
#define DESTROY_CONS_id(D, A, B, C)\
2 7u83 1851
    {\
7 7u83 1852
	c_class *x116_ = CHECK_NULL(C);\
1853
	(A) = DEREF_id(x116_ + 1);\
1854
	(B) = x116_->ag_ptr;\
1855
	(D)(x116_, (unsigned)2);\
2 7u83 1856
    }
1857
 
7 7u83 1858
#define PUSH_id(A, B)\
2 7u83 1859
    {\
7 7u83 1860
	c_class **r117_ = &(B);\
1861
	c_class *x117_ = GEN_c_class(2, TYPEID_stack);\
1862
	COPY_id(x117_ + 1, (A));\
1863
	x117_->ag_ptr = *r117_;\
1864
	*r117_ = x117_;\
2 7u83 1865
    }
1866
 
7 7u83 1867
#define POP_id(A, B)\
2 7u83 1868
    {\
7 7u83 1869
	c_class **r118_ = &(B);\
1870
	c_class *x118_ = CHECK_NULL(*r118_);\
1871
	(A) = DEREF_id(x118_ + 1);\
1872
	*r118_ = x118_->ag_ptr;\
1873
	destroy_c_class(x118_, (unsigned)2);\
2 7u83 1874
    }
1875
 
1876
 
1877
/* Definitions for union MEMBER */
1878
 
7 7u83 1879
#define ORDER_member			((unsigned) 2)
2 7u83 1880
#define SIZE_member			1
7 7u83 1881
#define NULL_member			((MEMBER) 0)
1882
#define IS_NULL_member(A)		((A) == 0)
1883
#define EQ_member(A, B)			((A) == (B))
2 7u83 1884
 
7 7u83 1885
#define COPY_member(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1886
#define DEREF_member(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1887
 
7 7u83 1888
#define CONS_member(A, B, C)\
2 7u83 1889
    {\
7 7u83 1890
	c_class *x119_ = GEN_c_class(2, TYPEID_list);\
1891
	COPY_member(x119_ + 1, (A));\
1892
	x119_->ag_ptr = (B);\
1893
	(C) = x119_;\
2 7u83 1894
    }
1895
 
7 7u83 1896
#define UN_CONS_member(A, B, C)\
2 7u83 1897
    {\
7 7u83 1898
	c_class *x120_ = CHECK_NULL(C);\
1899
	(A) = DEREF_member(x120_ + 1);\
1900
	(B) = x120_->ag_ptr;\
2 7u83 1901
    }
1902
 
7 7u83 1903
#define DESTROY_CONS_member(D, A, B, C)\
2 7u83 1904
    {\
7 7u83 1905
	c_class *x121_ = CHECK_NULL(C);\
1906
	(A) = DEREF_member(x121_ + 1);\
1907
	(B) = x121_->ag_ptr;\
1908
	(D)(x121_, (unsigned)2);\
2 7u83 1909
    }
1910
 
7 7u83 1911
#define PUSH_member(A, B)\
2 7u83 1912
    {\
7 7u83 1913
	c_class **r122_ = &(B);\
1914
	c_class *x122_ = GEN_c_class(2, TYPEID_stack);\
1915
	COPY_member(x122_ + 1, (A));\
1916
	x122_->ag_ptr = *r122_;\
1917
	*r122_ = x122_;\
2 7u83 1918
    }
1919
 
7 7u83 1920
#define POP_member(A, B)\
2 7u83 1921
    {\
7 7u83 1922
	c_class **r123_ = &(B);\
1923
	c_class *x123_ = CHECK_NULL(*r123_);\
1924
	(A) = DEREF_member(x123_ + 1);\
1925
	*r123_ = x123_->ag_ptr;\
1926
	destroy_c_class(x123_, (unsigned)2);\
2 7u83 1927
    }
1928
 
1929
 
1930
/* Definitions for union NAMESPACE */
1931
 
7 7u83 1932
#define ORDER_nspace			((unsigned) 9)
2 7u83 1933
#define SIZE_nspace			1
7 7u83 1934
#define NULL_nspace			((NAMESPACE) 0)
1935
#define IS_NULL_nspace(A)		((A) == 0)
1936
#define EQ_nspace(A, B)			((A) == (B))
2 7u83 1937
 
7 7u83 1938
#define COPY_nspace(A, B)		(CHECK_NULL(A)->ag_ptr = (B))
1939
#define DEREF_nspace(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1940
 
7 7u83 1941
#define CONS_nspace(A, B, C)\
2 7u83 1942
    {\
7 7u83 1943
	c_class *x124_ = GEN_c_class(2, TYPEID_list);\
1944
	COPY_nspace(x124_ + 1, (A));\
1945
	x124_->ag_ptr = (B);\
1946
	(C) = x124_;\
2 7u83 1947
    }
1948
 
7 7u83 1949
#define UN_CONS_nspace(A, B, C)\
2 7u83 1950
    {\
7 7u83 1951
	c_class *x125_ = CHECK_NULL(C);\
1952
	(A) = DEREF_nspace(x125_ + 1);\
1953
	(B) = x125_->ag_ptr;\
2 7u83 1954
    }
1955
 
7 7u83 1956
#define DESTROY_CONS_nspace(D, A, B, C)\
2 7u83 1957
    {\
7 7u83 1958
	c_class *x126_ = CHECK_NULL(C);\
1959
	(A) = DEREF_nspace(x126_ + 1);\
1960
	(B) = x126_->ag_ptr;\
1961
	(D)(x126_, (unsigned)2);\
2 7u83 1962
    }
1963
 
7 7u83 1964
#define PUSH_nspace(A, B)\
2 7u83 1965
    {\
7 7u83 1966
	c_class **r127_ = &(B);\
1967
	c_class *x127_ = GEN_c_class(2, TYPEID_stack);\
1968
	COPY_nspace(x127_ + 1, (A));\
1969
	x127_->ag_ptr = *r127_;\
1970
	*r127_ = x127_;\
2 7u83 1971
    }
1972
 
7 7u83 1973
#define POP_nspace(A, B)\
2 7u83 1974
    {\
7 7u83 1975
	c_class **r128_ = &(B);\
1976
	c_class *x128_ = CHECK_NULL(*r128_);\
1977
	(A) = DEREF_nspace(x128_ + 1);\
1978
	*r128_ = x128_->ag_ptr;\
1979
	destroy_c_class(x128_, (unsigned)2);\
2 7u83 1980
    }
1981
 
1982
 
1983
/* Definitions for union NAT */
1984
 
7 7u83 1985
#define ORDER_nat			((unsigned) 5)
2 7u83 1986
#define SIZE_nat			1
7 7u83 1987
#define NULL_nat			((NAT) 0)
1988
#define IS_NULL_nat(A)			((A) == 0)
1989
#define EQ_nat(A, B)			((A) == (B))
2 7u83 1990
 
7 7u83 1991
#define COPY_nat(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
1992
#define DEREF_nat(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 1993
 
7 7u83 1994
#define CONS_nat(A, B, C)\
2 7u83 1995
    {\
7 7u83 1996
	c_class *x129_ = GEN_c_class(2, TYPEID_list);\
1997
	COPY_nat(x129_ + 1, (A));\
1998
	x129_->ag_ptr = (B);\
1999
	(C) = x129_;\
2 7u83 2000
    }
2001
 
7 7u83 2002
#define UN_CONS_nat(A, B, C)\
2 7u83 2003
    {\
7 7u83 2004
	c_class *x130_ = CHECK_NULL(C);\
2005
	(A) = DEREF_nat(x130_ + 1);\
2006
	(B) = x130_->ag_ptr;\
2 7u83 2007
    }
2008
 
7 7u83 2009
#define DESTROY_CONS_nat(D, A, B, C)\
2 7u83 2010
    {\
7 7u83 2011
	c_class *x131_ = CHECK_NULL(C);\
2012
	(A) = DEREF_nat(x131_ + 1);\
2013
	(B) = x131_->ag_ptr;\
2014
	(D)(x131_, (unsigned)2);\
2 7u83 2015
    }
2016
 
7 7u83 2017
#define PUSH_nat(A, B)\
2 7u83 2018
    {\
7 7u83 2019
	c_class **r132_ = &(B);\
2020
	c_class *x132_ = GEN_c_class(2, TYPEID_stack);\
2021
	COPY_nat(x132_ + 1, (A));\
2022
	x132_->ag_ptr = *r132_;\
2023
	*r132_ = x132_;\
2 7u83 2024
    }
2025
 
7 7u83 2026
#define POP_nat(A, B)\
2 7u83 2027
    {\
7 7u83 2028
	c_class **r133_ = &(B);\
2029
	c_class *x133_ = CHECK_NULL(*r133_);\
2030
	(A) = DEREF_nat(x133_ + 1);\
2031
	*r133_ = x133_->ag_ptr;\
2032
	destroy_c_class(x133_, (unsigned)2);\
2 7u83 2033
    }
2034
 
2035
 
2036
/* Definitions for union FLOAT */
2037
 
7 7u83 2038
#define ORDER_flt			((unsigned) 1)
2 7u83 2039
#define SIZE_flt			1
7 7u83 2040
#define NULL_flt			((FLOAT) 0)
2041
#define IS_NULL_flt(A)			((A) == 0)
2042
#define EQ_flt(A, B)			((A) == (B))
2 7u83 2043
 
7 7u83 2044
#define COPY_flt(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2045
#define DEREF_flt(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2046
 
7 7u83 2047
#define CONS_flt(A, B, C)\
2 7u83 2048
    {\
7 7u83 2049
	c_class *x134_ = GEN_c_class(2, TYPEID_list);\
2050
	COPY_flt(x134_ + 1, (A));\
2051
	x134_->ag_ptr = (B);\
2052
	(C) = x134_;\
2 7u83 2053
    }
2054
 
7 7u83 2055
#define UN_CONS_flt(A, B, C)\
2 7u83 2056
    {\
7 7u83 2057
	c_class *x135_ = CHECK_NULL(C);\
2058
	(A) = DEREF_flt(x135_ + 1);\
2059
	(B) = x135_->ag_ptr;\
2 7u83 2060
    }
2061
 
7 7u83 2062
#define DESTROY_CONS_flt(D, A, B, C)\
2 7u83 2063
    {\
7 7u83 2064
	c_class *x136_ = CHECK_NULL(C);\
2065
	(A) = DEREF_flt(x136_ + 1);\
2066
	(B) = x136_->ag_ptr;\
2067
	(D)(x136_, (unsigned)2);\
2 7u83 2068
    }
2069
 
7 7u83 2070
#define PUSH_flt(A, B)\
2 7u83 2071
    {\
7 7u83 2072
	c_class **r137_ = &(B);\
2073
	c_class *x137_ = GEN_c_class(2, TYPEID_stack);\
2074
	COPY_flt(x137_ + 1, (A));\
2075
	x137_->ag_ptr = *r137_;\
2076
	*r137_ = x137_;\
2 7u83 2077
    }
2078
 
7 7u83 2079
#define POP_flt(A, B)\
2 7u83 2080
    {\
7 7u83 2081
	c_class **r138_ = &(B);\
2082
	c_class *x138_ = CHECK_NULL(*r138_);\
2083
	(A) = DEREF_flt(x138_ + 1);\
2084
	*r138_ = x138_->ag_ptr;\
2085
	destroy_c_class(x138_, (unsigned)2);\
2 7u83 2086
    }
2087
 
2088
 
2089
/* Definitions for union STRING */
2090
 
7 7u83 2091
#define ORDER_str			((unsigned) 1)
2 7u83 2092
#define SIZE_str			1
7 7u83 2093
#define NULL_str			((STRING) 0)
2094
#define IS_NULL_str(A)			((A) == 0)
2095
#define EQ_str(A, B)			((A) == (B))
2 7u83 2096
 
7 7u83 2097
#define COPY_str(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2098
#define DEREF_str(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2099
 
7 7u83 2100
#define CONS_str(A, B, C)\
2 7u83 2101
    {\
7 7u83 2102
	c_class *x139_ = GEN_c_class(2, TYPEID_list);\
2103
	COPY_str(x139_ + 1, (A));\
2104
	x139_->ag_ptr = (B);\
2105
	(C) = x139_;\
2 7u83 2106
    }
2107
 
7 7u83 2108
#define UN_CONS_str(A, B, C)\
2 7u83 2109
    {\
7 7u83 2110
	c_class *x140_ = CHECK_NULL(C);\
2111
	(A) = DEREF_str(x140_ + 1);\
2112
	(B) = x140_->ag_ptr;\
2 7u83 2113
    }
2114
 
7 7u83 2115
#define DESTROY_CONS_str(D, A, B, C)\
2 7u83 2116
    {\
7 7u83 2117
	c_class *x141_ = CHECK_NULL(C);\
2118
	(A) = DEREF_str(x141_ + 1);\
2119
	(B) = x141_->ag_ptr;\
2120
	(D)(x141_, (unsigned)2);\
2 7u83 2121
    }
2122
 
7 7u83 2123
#define PUSH_str(A, B)\
2 7u83 2124
    {\
7 7u83 2125
	c_class **r142_ = &(B);\
2126
	c_class *x142_ = GEN_c_class(2, TYPEID_stack);\
2127
	COPY_str(x142_ + 1, (A));\
2128
	x142_->ag_ptr = *r142_;\
2129
	*r142_ = x142_;\
2 7u83 2130
    }
2131
 
7 7u83 2132
#define POP_str(A, B)\
2 7u83 2133
    {\
7 7u83 2134
	c_class **r143_ = &(B);\
2135
	c_class *x143_ = CHECK_NULL(*r143_);\
2136
	(A) = DEREF_str(x143_ + 1);\
2137
	*r143_ = x143_->ag_ptr;\
2138
	destroy_c_class(x143_, (unsigned)2);\
2 7u83 2139
    }
2140
 
2141
 
2142
/* Definitions for union EXP */
2143
 
7 7u83 2144
#define ORDER_exp			((unsigned) 88)
2 7u83 2145
#define SIZE_exp			1
7 7u83 2146
#define NULL_exp			((EXP) 0)
2147
#define IS_NULL_exp(A)			((A) == 0)
2148
#define EQ_exp(A, B)			((A) == (B))
2 7u83 2149
 
7 7u83 2150
#define COPY_exp(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2151
#define DEREF_exp(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2152
 
7 7u83 2153
#define CONS_exp(A, B, C)\
2 7u83 2154
    {\
7 7u83 2155
	c_class *x144_ = GEN_c_class(2, TYPEID_list);\
2156
	COPY_exp(x144_ + 1, (A));\
2157
	x144_->ag_ptr = (B);\
2158
	(C) = x144_;\
2 7u83 2159
    }
2160
 
7 7u83 2161
#define UN_CONS_exp(A, B, C)\
2 7u83 2162
    {\
7 7u83 2163
	c_class *x145_ = CHECK_NULL(C);\
2164
	(A) = DEREF_exp(x145_ + 1);\
2165
	(B) = x145_->ag_ptr;\
2 7u83 2166
    }
2167
 
7 7u83 2168
#define DESTROY_CONS_exp(D, A, B, C)\
2 7u83 2169
    {\
7 7u83 2170
	c_class *x146_ = CHECK_NULL(C);\
2171
	(A) = DEREF_exp(x146_ + 1);\
2172
	(B) = x146_->ag_ptr;\
2173
	(D)(x146_, (unsigned)2);\
2 7u83 2174
    }
2175
 
7 7u83 2176
#define PUSH_exp(A, B)\
2 7u83 2177
    {\
7 7u83 2178
	c_class **r147_ = &(B);\
2179
	c_class *x147_ = GEN_c_class(2, TYPEID_stack);\
2180
	COPY_exp(x147_ + 1, (A));\
2181
	x147_->ag_ptr = *r147_;\
2182
	*r147_ = x147_;\
2 7u83 2183
    }
2184
 
7 7u83 2185
#define POP_exp(A, B)\
2 7u83 2186
    {\
7 7u83 2187
	c_class **r148_ = &(B);\
2188
	c_class *x148_ = CHECK_NULL(*r148_);\
2189
	(A) = DEREF_exp(x148_ + 1);\
2190
	*r148_ = x148_->ag_ptr;\
2191
	destroy_c_class(x148_, (unsigned)2);\
2 7u83 2192
    }
2193
 
2194
 
2195
/* Definitions for union OFFSET */
2196
 
7 7u83 2197
#define ORDER_off			((unsigned) 13)
2 7u83 2198
#define SIZE_off			1
7 7u83 2199
#define NULL_off			((OFFSET) 0)
2200
#define IS_NULL_off(A)			((A) == 0)
2201
#define EQ_off(A, B)			((A) == (B))
2 7u83 2202
 
7 7u83 2203
#define COPY_off(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2204
#define DEREF_off(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2205
 
7 7u83 2206
#define CONS_off(A, B, C)\
2 7u83 2207
    {\
7 7u83 2208
	c_class *x149_ = GEN_c_class(2, TYPEID_list);\
2209
	COPY_off(x149_ + 1, (A));\
2210
	x149_->ag_ptr = (B);\
2211
	(C) = x149_;\
2 7u83 2212
    }
2213
 
7 7u83 2214
#define UN_CONS_off(A, B, C)\
2 7u83 2215
    {\
7 7u83 2216
	c_class *x150_ = CHECK_NULL(C);\
2217
	(A) = DEREF_off(x150_ + 1);\
2218
	(B) = x150_->ag_ptr;\
2 7u83 2219
    }
2220
 
7 7u83 2221
#define DESTROY_CONS_off(D, A, B, C)\
2 7u83 2222
    {\
7 7u83 2223
	c_class *x151_ = CHECK_NULL(C);\
2224
	(A) = DEREF_off(x151_ + 1);\
2225
	(B) = x151_->ag_ptr;\
2226
	(D)(x151_, (unsigned)2);\
2 7u83 2227
    }
2228
 
7 7u83 2229
#define PUSH_off(A, B)\
2 7u83 2230
    {\
7 7u83 2231
	c_class **r152_ = &(B);\
2232
	c_class *x152_ = GEN_c_class(2, TYPEID_stack);\
2233
	COPY_off(x152_ + 1, (A));\
2234
	x152_->ag_ptr = *r152_;\
2235
	*r152_ = x152_;\
2 7u83 2236
    }
2237
 
7 7u83 2238
#define POP_off(A, B)\
2 7u83 2239
    {\
7 7u83 2240
	c_class **r153_ = &(B);\
2241
	c_class *x153_ = CHECK_NULL(*r153_);\
2242
	(A) = DEREF_off(x153_ + 1);\
2243
	*r153_ = x153_->ag_ptr;\
2244
	destroy_c_class(x153_, (unsigned)2);\
2 7u83 2245
    }
2246
 
2247
 
2248
/* Definitions for union TOKEN */
2249
 
7 7u83 2250
#define ORDER_tok			((unsigned) 10)
2 7u83 2251
#define SIZE_tok			1
7 7u83 2252
#define NULL_tok			((TOKEN) 0)
2253
#define IS_NULL_tok(A)			((A) == 0)
2254
#define EQ_tok(A, B)			((A) == (B))
2 7u83 2255
 
7 7u83 2256
#define COPY_tok(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2257
#define DEREF_tok(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2258
 
7 7u83 2259
#define CONS_tok(A, B, C)\
2 7u83 2260
    {\
7 7u83 2261
	c_class *x154_ = GEN_c_class(2, TYPEID_list);\
2262
	COPY_tok(x154_ + 1, (A));\
2263
	x154_->ag_ptr = (B);\
2264
	(C) = x154_;\
2 7u83 2265
    }
2266
 
7 7u83 2267
#define UN_CONS_tok(A, B, C)\
2 7u83 2268
    {\
7 7u83 2269
	c_class *x155_ = CHECK_NULL(C);\
2270
	(A) = DEREF_tok(x155_ + 1);\
2271
	(B) = x155_->ag_ptr;\
2 7u83 2272
    }
2273
 
7 7u83 2274
#define DESTROY_CONS_tok(D, A, B, C)\
2 7u83 2275
    {\
7 7u83 2276
	c_class *x156_ = CHECK_NULL(C);\
2277
	(A) = DEREF_tok(x156_ + 1);\
2278
	(B) = x156_->ag_ptr;\
2279
	(D)(x156_, (unsigned)2);\
2 7u83 2280
    }
2281
 
7 7u83 2282
#define PUSH_tok(A, B)\
2 7u83 2283
    {\
7 7u83 2284
	c_class **r157_ = &(B);\
2285
	c_class *x157_ = GEN_c_class(2, TYPEID_stack);\
2286
	COPY_tok(x157_ + 1, (A));\
2287
	x157_->ag_ptr = *r157_;\
2288
	*r157_ = x157_;\
2 7u83 2289
    }
2290
 
7 7u83 2291
#define POP_tok(A, B)\
2 7u83 2292
    {\
7 7u83 2293
	c_class **r158_ = &(B);\
2294
	c_class *x158_ = CHECK_NULL(*r158_);\
2295
	(A) = DEREF_tok(x158_ + 1);\
2296
	*r158_ = x158_->ag_ptr;\
2297
	destroy_c_class(x158_, (unsigned)2);\
2 7u83 2298
    }
2299
 
2300
 
2301
/* Definitions for union INSTANCE */
2302
 
7 7u83 2303
#define ORDER_inst			((unsigned) 2)
2 7u83 2304
#define SIZE_inst			1
7 7u83 2305
#define NULL_inst			((INSTANCE) 0)
2306
#define IS_NULL_inst(A)			((A) == 0)
2307
#define EQ_inst(A, B)			((A) == (B))
2 7u83 2308
 
7 7u83 2309
#define COPY_inst(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2310
#define DEREF_inst(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2311
 
7 7u83 2312
#define CONS_inst(A, B, C)\
2 7u83 2313
    {\
7 7u83 2314
	c_class *x159_ = GEN_c_class(2, TYPEID_list);\
2315
	COPY_inst(x159_ + 1, (A));\
2316
	x159_->ag_ptr = (B);\
2317
	(C) = x159_;\
2 7u83 2318
    }
2319
 
7 7u83 2320
#define UN_CONS_inst(A, B, C)\
2 7u83 2321
    {\
7 7u83 2322
	c_class *x160_ = CHECK_NULL(C);\
2323
	(A) = DEREF_inst(x160_ + 1);\
2324
	(B) = x160_->ag_ptr;\
2 7u83 2325
    }
2326
 
7 7u83 2327
#define DESTROY_CONS_inst(D, A, B, C)\
2 7u83 2328
    {\
7 7u83 2329
	c_class *x161_ = CHECK_NULL(C);\
2330
	(A) = DEREF_inst(x161_ + 1);\
2331
	(B) = x161_->ag_ptr;\
2332
	(D)(x161_, (unsigned)2);\
2 7u83 2333
    }
2334
 
7 7u83 2335
#define PUSH_inst(A, B)\
2 7u83 2336
    {\
7 7u83 2337
	c_class **r162_ = &(B);\
2338
	c_class *x162_ = GEN_c_class(2, TYPEID_stack);\
2339
	COPY_inst(x162_ + 1, (A));\
2340
	x162_->ag_ptr = *r162_;\
2341
	*r162_ = x162_;\
2 7u83 2342
    }
2343
 
7 7u83 2344
#define POP_inst(A, B)\
2 7u83 2345
    {\
7 7u83 2346
	c_class **r163_ = &(B);\
2347
	c_class *x163_ = CHECK_NULL(*r163_);\
2348
	(A) = DEREF_inst(x163_ + 1);\
2349
	*r163_ = x163_->ag_ptr;\
2350
	destroy_c_class(x163_, (unsigned)2);\
2 7u83 2351
    }
2352
 
2353
 
2354
/* Definitions for union ERROR */
2355
 
7 7u83 2356
#define ORDER_err			((unsigned) 2)
2 7u83 2357
#define SIZE_err			1
7 7u83 2358
#define NULL_err			((ERROR) 0)
2359
#define IS_NULL_err(A)			((A) == 0)
2360
#define EQ_err(A, B)			((A) == (B))
2 7u83 2361
 
7 7u83 2362
#define COPY_err(A, B)			(CHECK_NULL(A)->ag_ptr = (B))
2363
#define DEREF_err(A)			(CHECK_NULL(A)->ag_ptr)
2 7u83 2364
 
7 7u83 2365
#define CONS_err(A, B, C)\
2 7u83 2366
    {\
7 7u83 2367
	c_class *x164_ = GEN_c_class(2, TYPEID_list);\
2368
	COPY_err(x164_ + 1, (A));\
2369
	x164_->ag_ptr = (B);\
2370
	(C) = x164_;\
2 7u83 2371
    }
2372
 
7 7u83 2373
#define UN_CONS_err(A, B, C)\
2 7u83 2374
    {\
7 7u83 2375
	c_class *x165_ = CHECK_NULL(C);\
2376
	(A) = DEREF_err(x165_ + 1);\
2377
	(B) = x165_->ag_ptr;\
2 7u83 2378
    }
2379
 
7 7u83 2380
#define DESTROY_CONS_err(D, A, B, C)\
2 7u83 2381
    {\
7 7u83 2382
	c_class *x166_ = CHECK_NULL(C);\
2383
	(A) = DEREF_err(x166_ + 1);\
2384
	(B) = x166_->ag_ptr;\
2385
	(D)(x166_, (unsigned)2);\
2 7u83 2386
    }
2387
 
7 7u83 2388
#define PUSH_err(A, B)\
2 7u83 2389
    {\
7 7u83 2390
	c_class **r167_ = &(B);\
2391
	c_class *x167_ = GEN_c_class(2, TYPEID_stack);\
2392
	COPY_err(x167_ + 1, (A));\
2393
	x167_->ag_ptr = *r167_;\
2394
	*r167_ = x167_;\
2 7u83 2395
    }
2396
 
7 7u83 2397
#define POP_err(A, B)\
2 7u83 2398
    {\
7 7u83 2399
	c_class **r168_ = &(B);\
2400
	c_class *x168_ = CHECK_NULL(*r168_);\
2401
	(A) = DEREF_err(x168_ + 1);\
2402
	*r168_ = x168_->ag_ptr;\
2403
	destroy_c_class(x168_, (unsigned)2);\
2 7u83 2404
    }
2405
 
2406
 
2407
/* Maximum allocation size */
2408
 
2409
#define c_class_GEN_MAX			19
2410
 
2411
#endif