Subversion Repositories tendra.SVN

Rev

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