Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – tendra.SVN – Blame – /branches/tendra5/src/producers/common/obj_tok/exp_ops.h – Rev 2

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 EXP_OPS_H_INCLUDED
36
#define EXP_OPS_H_INCLUDED
37
 
38
/* Operations for union EXP */
39
 
40
#pragma token PROC ( EXP : EXP : ) EXP : unsigned : TAG_exp #
41
#pragma interface TAG_exp
42
 
43
 
44
/* Operations for component type of union EXP */
45
 
46
#pragma token PROC ( EXP : EXP : )\
47
    EXP : PTR ( TYPE ) : exp_type #
48
#pragma interface exp_type
49
 
50
/* Operations for field set identifier_etc of union EXP */
51
 
52
#pragma token EXP const : unsigned : exp_identifier_etc_tag #
53
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_identifier_etc #
54
#pragma interface exp_identifier_etc_tag IS_exp_identifier_etc
55
 
56
#pragma token PROC ( EXP : EXP : )\
57
    EXP : PTR ( IDENTIFIER ) : exp_identifier_etc_id #
58
#pragma interface exp_identifier_etc_id
59
 
60
#pragma token PROC ( EXP : EXP : )\
61
    EXP : PTR ( QUALIFIER ) : exp_identifier_etc_qual #
62
#pragma interface exp_identifier_etc_qual
63
 
64
#pragma token PROC (\
65
	EXP : unsigned :,\
66
	EXP : TYPE :,\
67
	EXP : IDENTIFIER :,\
68
	EXP : QUALIFIER :,\
69
	EXP lvalue : EXP :\
70
    ) STATEMENT MAKE_exp_identifier_etc #
71
#pragma interface MAKE_exp_identifier_etc
72
 
73
#pragma token PROC (\
74
	EXP : unsigned :,\
75
	EXP : EXP :\
76
    ) STATEMENT MODIFY_exp_identifier_etc #
77
#pragma interface MODIFY_exp_identifier_etc
78
 
79
#pragma token PROC (\
80
	EXP lvalue : TYPE :,\
81
	EXP lvalue : IDENTIFIER :,\
82
	EXP lvalue : QUALIFIER :,\
83
	EXP : EXP :\
84
    ) STATEMENT DECONS_exp_identifier_etc #
85
#pragma interface DECONS_exp_identifier_etc
86
 
87
#pragma token PROC (\
88
	EXP : DESTROYER :,\
89
	EXP lvalue : TYPE :,\
90
	EXP lvalue : IDENTIFIER :,\
91
	EXP lvalue : QUALIFIER :,\
92
	EXP : EXP :\
93
    ) STATEMENT DESTROY_exp_identifier_etc #
94
#pragma interface DESTROY_exp_identifier_etc
95
 
96
 
97
/* Operations for field identifier of union EXP */
98
 
99
#pragma token EXP const : unsigned : exp_identifier_tag #
100
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_identifier #
101
#pragma interface exp_identifier_tag IS_exp_identifier
102
 
103
#pragma token PROC ( EXP : EXP : )\
104
    EXP : PTR ( IDENTIFIER ) : exp_identifier_id #
105
#pragma interface exp_identifier_id
106
 
107
#pragma token PROC ( EXP : EXP : )\
108
    EXP : PTR ( QUALIFIER ) : exp_identifier_qual #
109
#pragma interface exp_identifier_qual
110
 
111
#pragma token PROC (\
112
	EXP : TYPE :,\
113
	EXP : IDENTIFIER :,\
114
	EXP : QUALIFIER :,\
115
	EXP lvalue : EXP :\
116
    ) STATEMENT MAKE_exp_identifier #
117
#pragma interface MAKE_exp_identifier
118
 
119
#pragma token PROC (\
120
	EXP lvalue : TYPE :,\
121
	EXP lvalue : IDENTIFIER :,\
122
	EXP lvalue : QUALIFIER :,\
123
	EXP : EXP :\
124
    ) STATEMENT DECONS_exp_identifier #
125
#pragma interface DECONS_exp_identifier
126
 
127
#pragma token PROC (\
128
	EXP : DESTROYER :,\
129
	EXP lvalue : TYPE :,\
130
	EXP lvalue : IDENTIFIER :,\
131
	EXP lvalue : QUALIFIER :,\
132
	EXP : EXP :\
133
    ) STATEMENT DESTROY_exp_identifier #
134
#pragma interface DESTROY_exp_identifier
135
 
136
 
137
/* Operations for field member of union EXP */
138
 
139
#pragma token EXP const : unsigned : exp_member_tag #
140
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_member #
141
#pragma interface exp_member_tag IS_exp_member
142
 
143
#pragma token PROC ( EXP : EXP : )\
144
    EXP : PTR ( IDENTIFIER ) : exp_member_id #
145
#pragma interface exp_member_id
146
 
147
#pragma token PROC ( EXP : EXP : )\
148
    EXP : PTR ( QUALIFIER ) : exp_member_qual #
149
#pragma interface exp_member_qual
150
 
151
#pragma token PROC (\
152
	EXP : TYPE :,\
153
	EXP : IDENTIFIER :,\
154
	EXP : QUALIFIER :,\
155
	EXP lvalue : EXP :\
156
    ) STATEMENT MAKE_exp_member #
157
#pragma interface MAKE_exp_member
158
 
159
#pragma token PROC (\
160
	EXP lvalue : TYPE :,\
161
	EXP lvalue : IDENTIFIER :,\
162
	EXP lvalue : QUALIFIER :,\
163
	EXP : EXP :\
164
    ) STATEMENT DECONS_exp_member #
165
#pragma interface DECONS_exp_member
166
 
167
#pragma token PROC (\
168
	EXP : DESTROYER :,\
169
	EXP lvalue : TYPE :,\
170
	EXP lvalue : IDENTIFIER :,\
171
	EXP lvalue : QUALIFIER :,\
172
	EXP : EXP :\
173
    ) STATEMENT DESTROY_exp_member #
174
#pragma interface DESTROY_exp_member
175
 
176
 
177
/* Operations for field ambiguous of union EXP */
178
 
179
#pragma token EXP const : unsigned : exp_ambiguous_tag #
180
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_ambiguous #
181
#pragma interface exp_ambiguous_tag IS_exp_ambiguous
182
 
183
#pragma token PROC ( EXP : EXP : )\
184
    EXP : PTR ( IDENTIFIER ) : exp_ambiguous_id #
185
#pragma interface exp_ambiguous_id
186
 
187
#pragma token PROC ( EXP : EXP : )\
188
    EXP : PTR ( QUALIFIER ) : exp_ambiguous_qual #
189
#pragma interface exp_ambiguous_qual
190
 
191
#pragma token PROC (\
192
	EXP : TYPE :,\
193
	EXP : IDENTIFIER :,\
194
	EXP : QUALIFIER :,\
195
	EXP lvalue : EXP :\
196
    ) STATEMENT MAKE_exp_ambiguous #
197
#pragma interface MAKE_exp_ambiguous
198
 
199
#pragma token PROC (\
200
	EXP lvalue : TYPE :,\
201
	EXP lvalue : IDENTIFIER :,\
202
	EXP lvalue : QUALIFIER :,\
203
	EXP : EXP :\
204
    ) STATEMENT DECONS_exp_ambiguous #
205
#pragma interface DECONS_exp_ambiguous
206
 
207
#pragma token PROC (\
208
	EXP : DESTROYER :,\
209
	EXP lvalue : TYPE :,\
210
	EXP lvalue : IDENTIFIER :,\
211
	EXP lvalue : QUALIFIER :,\
212
	EXP : EXP :\
213
    ) STATEMENT DESTROY_exp_ambiguous #
214
#pragma interface DESTROY_exp_ambiguous
215
 
216
 
217
/* Operations for field undeclared of union EXP */
218
 
219
#pragma token EXP const : unsigned : exp_undeclared_tag #
220
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_undeclared #
221
#pragma interface exp_undeclared_tag IS_exp_undeclared
222
 
223
#pragma token PROC ( EXP : EXP : )\
224
    EXP : PTR ( IDENTIFIER ) : exp_undeclared_id #
225
#pragma interface exp_undeclared_id
226
 
227
#pragma token PROC ( EXP : EXP : )\
228
    EXP : PTR ( QUALIFIER ) : exp_undeclared_qual #
229
#pragma interface exp_undeclared_qual
230
 
231
#pragma token PROC (\
232
	EXP : TYPE :,\
233
	EXP : IDENTIFIER :,\
234
	EXP : QUALIFIER :,\
235
	EXP lvalue : EXP :\
236
    ) STATEMENT MAKE_exp_undeclared #
237
#pragma interface MAKE_exp_undeclared
238
 
239
#pragma token PROC (\
240
	EXP lvalue : TYPE :,\
241
	EXP lvalue : IDENTIFIER :,\
242
	EXP lvalue : QUALIFIER :,\
243
	EXP : EXP :\
244
    ) STATEMENT DECONS_exp_undeclared #
245
#pragma interface DECONS_exp_undeclared
246
 
247
#pragma token PROC (\
248
	EXP : DESTROYER :,\
249
	EXP lvalue : TYPE :,\
250
	EXP lvalue : IDENTIFIER :,\
251
	EXP lvalue : QUALIFIER :,\
252
	EXP : EXP :\
253
    ) STATEMENT DESTROY_exp_undeclared #
254
#pragma interface DESTROY_exp_undeclared
255
 
256
 
257
/* Operations for field int_lit of union EXP */
258
 
259
#pragma token EXP const : unsigned : exp_int_lit_tag #
260
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_int_lit #
261
#pragma interface exp_int_lit_tag IS_exp_int_lit
262
 
263
#pragma token PROC ( EXP : EXP : )\
264
    EXP : PTR ( NAT ) : exp_int_lit_nat #
265
#pragma interface exp_int_lit_nat
266
 
267
#pragma token PROC ( EXP : EXP : )\
268
    EXP : PTR ( unsigned ) : exp_int_lit_etag #
269
#pragma interface exp_int_lit_etag
270
 
271
#pragma token PROC (\
272
	EXP : TYPE :,\
273
	EXP : NAT :,\
274
	EXP : unsigned :,\
275
	EXP lvalue : EXP :\
276
    ) STATEMENT MAKE_exp_int_lit #
277
#pragma interface MAKE_exp_int_lit
278
 
279
#pragma token PROC (\
280
	EXP lvalue : TYPE :,\
281
	EXP lvalue : NAT :,\
282
	EXP lvalue : unsigned :,\
283
	EXP : EXP :\
284
    ) STATEMENT DECONS_exp_int_lit #
285
#pragma interface DECONS_exp_int_lit
286
 
287
#pragma token PROC (\
288
	EXP : DESTROYER :,\
289
	EXP lvalue : TYPE :,\
290
	EXP lvalue : NAT :,\
291
	EXP lvalue : unsigned :,\
292
	EXP : EXP :\
293
    ) STATEMENT DESTROY_exp_int_lit #
294
#pragma interface DESTROY_exp_int_lit
295
 
296
 
297
/* Operations for field float_lit of union EXP */
298
 
299
#pragma token EXP const : unsigned : exp_float_lit_tag #
300
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_float_lit #
301
#pragma interface exp_float_lit_tag IS_exp_float_lit
302
 
303
#pragma token PROC ( EXP : EXP : )\
304
    EXP : PTR ( FLOAT ) : exp_float_lit_flt #
305
#pragma interface exp_float_lit_flt
306
 
307
#pragma token PROC (\
308
	EXP : TYPE :,\
309
	EXP : FLOAT :,\
310
	EXP lvalue : EXP :\
311
    ) STATEMENT MAKE_exp_float_lit #
312
#pragma interface MAKE_exp_float_lit
313
 
314
#pragma token PROC (\
315
	EXP lvalue : TYPE :,\
316
	EXP lvalue : FLOAT :,\
317
	EXP : EXP :\
318
    ) STATEMENT DECONS_exp_float_lit #
319
#pragma interface DECONS_exp_float_lit
320
 
321
#pragma token PROC (\
322
	EXP : DESTROYER :,\
323
	EXP lvalue : TYPE :,\
324
	EXP lvalue : FLOAT :,\
325
	EXP : EXP :\
326
    ) STATEMENT DESTROY_exp_float_lit #
327
#pragma interface DESTROY_exp_float_lit
328
 
329
 
330
/* Operations for field char_lit of union EXP */
331
 
332
#pragma token EXP const : unsigned : exp_char_lit_tag #
333
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_char_lit #
334
#pragma interface exp_char_lit_tag IS_exp_char_lit
335
 
336
#pragma token PROC ( EXP : EXP : )\
337
    EXP : PTR ( STRING ) : exp_char_lit_str #
338
#pragma interface exp_char_lit_str
339
 
340
#pragma token PROC ( EXP : EXP : )\
341
    EXP : PTR ( int ) : exp_char_lit_digit #
342
#pragma interface exp_char_lit_digit
343
 
344
#pragma token PROC (\
345
	EXP : TYPE :,\
346
	EXP : STRING :,\
347
	EXP : int :,\
348
	EXP lvalue : EXP :\
349
    ) STATEMENT MAKE_exp_char_lit #
350
#pragma interface MAKE_exp_char_lit
351
 
352
#pragma token PROC (\
353
	EXP lvalue : TYPE :,\
354
	EXP lvalue : STRING :,\
355
	EXP lvalue : int :,\
356
	EXP : EXP :\
357
    ) STATEMENT DECONS_exp_char_lit #
358
#pragma interface DECONS_exp_char_lit
359
 
360
#pragma token PROC (\
361
	EXP : DESTROYER :,\
362
	EXP lvalue : TYPE :,\
363
	EXP lvalue : STRING :,\
364
	EXP lvalue : int :,\
365
	EXP : EXP :\
366
    ) STATEMENT DESTROY_exp_char_lit #
367
#pragma interface DESTROY_exp_char_lit
368
 
369
 
370
/* Operations for field string_lit of union EXP */
371
 
372
#pragma token EXP const : unsigned : exp_string_lit_tag #
373
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_string_lit #
374
#pragma interface exp_string_lit_tag IS_exp_string_lit
375
 
376
#pragma token PROC ( EXP : EXP : )\
377
    EXP : PTR ( STRING ) : exp_string_lit_str #
378
#pragma interface exp_string_lit_str
379
 
380
#pragma token PROC (\
381
	EXP : TYPE :,\
382
	EXP : STRING :,\
383
	EXP lvalue : EXP :\
384
    ) STATEMENT MAKE_exp_string_lit #
385
#pragma interface MAKE_exp_string_lit
386
 
387
#pragma token PROC (\
388
	EXP lvalue : TYPE :,\
389
	EXP lvalue : STRING :,\
390
	EXP : EXP :\
391
    ) STATEMENT DECONS_exp_string_lit #
392
#pragma interface DECONS_exp_string_lit
393
 
394
#pragma token PROC (\
395
	EXP : DESTROYER :,\
396
	EXP lvalue : TYPE :,\
397
	EXP lvalue : STRING :,\
398
	EXP : EXP :\
399
    ) STATEMENT DESTROY_exp_string_lit #
400
#pragma interface DESTROY_exp_string_lit
401
 
402
 
403
/* Operations for field value of union EXP */
404
 
405
#pragma token EXP const : unsigned : exp_value_tag #
406
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_value #
407
#pragma interface exp_value_tag IS_exp_value
408
 
409
#pragma token PROC (\
410
	EXP : TYPE :,\
411
	EXP lvalue : EXP :\
412
    ) STATEMENT MAKE_exp_value #
413
#pragma interface MAKE_exp_value
414
 
415
#pragma token PROC (\
416
	EXP lvalue : TYPE :,\
417
	EXP : EXP :\
418
    ) STATEMENT DECONS_exp_value #
419
#pragma interface DECONS_exp_value
420
 
421
#pragma token PROC (\
422
	EXP : DESTROYER :,\
423
	EXP lvalue : TYPE :,\
424
	EXP : EXP :\
425
    ) STATEMENT DESTROY_exp_value #
426
#pragma interface DESTROY_exp_value
427
 
428
 
429
/* Operations for field set null_etc of union EXP */
430
 
431
#pragma token EXP const : unsigned : exp_null_etc_tag #
432
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_null_etc #
433
#pragma interface exp_null_etc_tag IS_exp_null_etc
434
 
435
#pragma token PROC (\
436
	EXP : unsigned :,\
437
	EXP : TYPE :,\
438
	EXP lvalue : EXP :\
439
    ) STATEMENT MAKE_exp_null_etc #
440
#pragma interface MAKE_exp_null_etc
441
 
442
#pragma token PROC (\
443
	EXP : unsigned :,\
444
	EXP : EXP :\
445
    ) STATEMENT MODIFY_exp_null_etc #
446
#pragma interface MODIFY_exp_null_etc
447
 
448
#pragma token PROC (\
449
	EXP lvalue : TYPE :,\
450
	EXP : EXP :\
451
    ) STATEMENT DECONS_exp_null_etc #
452
#pragma interface DECONS_exp_null_etc
453
 
454
#pragma token PROC (\
455
	EXP : DESTROYER :,\
456
	EXP lvalue : TYPE :,\
457
	EXP : EXP :\
458
    ) STATEMENT DESTROY_exp_null_etc #
459
#pragma interface DESTROY_exp_null_etc
460
 
461
 
462
/* Operations for field null of union EXP */
463
 
464
#pragma token EXP const : unsigned : exp_null_tag #
465
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_null #
466
#pragma interface exp_null_tag IS_exp_null
467
 
468
#pragma token PROC (\
469
	EXP : TYPE :,\
470
	EXP lvalue : EXP :\
471
    ) STATEMENT MAKE_exp_null #
472
#pragma interface MAKE_exp_null
473
 
474
#pragma token PROC (\
475
	EXP lvalue : TYPE :,\
476
	EXP : EXP :\
477
    ) STATEMENT DECONS_exp_null #
478
#pragma interface DECONS_exp_null
479
 
480
#pragma token PROC (\
481
	EXP : DESTROYER :,\
482
	EXP lvalue : TYPE :,\
483
	EXP : EXP :\
484
    ) STATEMENT DESTROY_exp_null #
485
#pragma interface DESTROY_exp_null
486
 
487
 
488
/* Operations for field zero of union EXP */
489
 
490
#pragma token EXP const : unsigned : exp_zero_tag #
491
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_zero #
492
#pragma interface exp_zero_tag IS_exp_zero
493
 
494
#pragma token PROC (\
495
	EXP : TYPE :,\
496
	EXP lvalue : EXP :\
497
    ) STATEMENT MAKE_exp_zero #
498
#pragma interface MAKE_exp_zero
499
 
500
#pragma token PROC (\
501
	EXP lvalue : TYPE :,\
502
	EXP : EXP :\
503
    ) STATEMENT DECONS_exp_zero #
504
#pragma interface DECONS_exp_zero
505
 
506
#pragma token PROC (\
507
	EXP : DESTROYER :,\
508
	EXP lvalue : TYPE :,\
509
	EXP : EXP :\
510
    ) STATEMENT DESTROY_exp_zero #
511
#pragma interface DESTROY_exp_zero
512
 
513
 
514
/* Operations for field set paren_etc of union EXP */
515
 
516
#pragma token EXP const : unsigned : exp_paren_etc_tag #
517
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_paren_etc #
518
#pragma interface exp_paren_etc_tag IS_exp_paren_etc
519
 
520
#pragma token PROC ( EXP : EXP : )\
521
    EXP : PTR ( EXP ) : exp_paren_etc_arg #
522
#pragma interface exp_paren_etc_arg
523
 
524
#pragma token PROC (\
525
	EXP : unsigned :,\
526
	EXP : TYPE :,\
527
	EXP : EXP :,\
528
	EXP lvalue : EXP :\
529
    ) STATEMENT MAKE_exp_paren_etc #
530
#pragma interface MAKE_exp_paren_etc
531
 
532
#pragma token PROC (\
533
	EXP : unsigned :,\
534
	EXP : EXP :\
535
    ) STATEMENT MODIFY_exp_paren_etc #
536
#pragma interface MODIFY_exp_paren_etc
537
 
538
#pragma token PROC (\
539
	EXP lvalue : TYPE :,\
540
	EXP lvalue : EXP :,\
541
	EXP : EXP :\
542
    ) STATEMENT DECONS_exp_paren_etc #
543
#pragma interface DECONS_exp_paren_etc
544
 
545
#pragma token PROC (\
546
	EXP : DESTROYER :,\
547
	EXP lvalue : TYPE :,\
548
	EXP lvalue : EXP :,\
549
	EXP : EXP :\
550
    ) STATEMENT DESTROY_exp_paren_etc #
551
#pragma interface DESTROY_exp_paren_etc
552
 
553
 
554
/* Operations for field paren of union EXP */
555
 
556
#pragma token EXP const : unsigned : exp_paren_tag #
557
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_paren #
558
#pragma interface exp_paren_tag IS_exp_paren
559
 
560
#pragma token PROC ( EXP : EXP : )\
561
    EXP : PTR ( EXP ) : exp_paren_arg #
562
#pragma interface exp_paren_arg
563
 
564
#pragma token PROC (\
565
	EXP : TYPE :,\
566
	EXP : EXP :,\
567
	EXP lvalue : EXP :\
568
    ) STATEMENT MAKE_exp_paren #
569
#pragma interface MAKE_exp_paren
570
 
571
#pragma token PROC (\
572
	EXP lvalue : TYPE :,\
573
	EXP lvalue : EXP :,\
574
	EXP : EXP :\
575
    ) STATEMENT DECONS_exp_paren #
576
#pragma interface DECONS_exp_paren
577
 
578
#pragma token PROC (\
579
	EXP : DESTROYER :,\
580
	EXP lvalue : TYPE :,\
581
	EXP lvalue : EXP :,\
582
	EXP : EXP :\
583
    ) STATEMENT DESTROY_exp_paren #
584
#pragma interface DESTROY_exp_paren
585
 
586
 
587
/* Operations for field copy of union EXP */
588
 
589
#pragma token EXP const : unsigned : exp_copy_tag #
590
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_copy #
591
#pragma interface exp_copy_tag IS_exp_copy
592
 
593
#pragma token PROC ( EXP : EXP : )\
594
    EXP : PTR ( EXP ) : exp_copy_arg #
595
#pragma interface exp_copy_arg
596
 
597
#pragma token PROC (\
598
	EXP : TYPE :,\
599
	EXP : EXP :,\
600
	EXP lvalue : EXP :\
601
    ) STATEMENT MAKE_exp_copy #
602
#pragma interface MAKE_exp_copy
603
 
604
#pragma token PROC (\
605
	EXP lvalue : TYPE :,\
606
	EXP lvalue : EXP :,\
607
	EXP : EXP :\
608
    ) STATEMENT DECONS_exp_copy #
609
#pragma interface DECONS_exp_copy
610
 
611
#pragma token PROC (\
612
	EXP : DESTROYER :,\
613
	EXP lvalue : TYPE :,\
614
	EXP lvalue : EXP :,\
615
	EXP : EXP :\
616
    ) STATEMENT DESTROY_exp_copy #
617
#pragma interface DESTROY_exp_copy
618
 
619
 
620
/* Operations for field assign of union EXP */
621
 
622
#pragma token EXP const : unsigned : exp_assign_tag #
623
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_assign #
624
#pragma interface exp_assign_tag IS_exp_assign
625
 
626
#pragma token PROC ( EXP : EXP : )\
627
    EXP : PTR ( EXP ) : exp_assign_ref #
628
#pragma interface exp_assign_ref
629
 
630
#pragma token PROC ( EXP : EXP : )\
631
    EXP : PTR ( EXP ) : exp_assign_arg #
632
#pragma interface exp_assign_arg
633
 
634
#pragma token PROC (\
635
	EXP : TYPE :,\
636
	EXP : EXP :,\
637
	EXP : EXP :,\
638
	EXP lvalue : EXP :\
639
    ) STATEMENT MAKE_exp_assign #
640
#pragma interface MAKE_exp_assign
641
 
642
#pragma token PROC (\
643
	EXP lvalue : TYPE :,\
644
	EXP lvalue : EXP :,\
645
	EXP lvalue : EXP :,\
646
	EXP : EXP :\
647
    ) STATEMENT DECONS_exp_assign #
648
#pragma interface DECONS_exp_assign
649
 
650
#pragma token PROC (\
651
	EXP : DESTROYER :,\
652
	EXP lvalue : TYPE :,\
653
	EXP lvalue : EXP :,\
654
	EXP lvalue : EXP :,\
655
	EXP : EXP :\
656
    ) STATEMENT DESTROY_exp_assign #
657
#pragma interface DESTROY_exp_assign
658
 
659
 
660
/* Operations for field init of union EXP */
661
 
662
#pragma token EXP const : unsigned : exp_init_tag #
663
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_init #
664
#pragma interface exp_init_tag IS_exp_init
665
 
666
#pragma token PROC ( EXP : EXP : )\
667
    EXP : PTR ( IDENTIFIER ) : exp_init_id #
668
#pragma interface exp_init_id
669
 
670
#pragma token PROC ( EXP : EXP : )\
671
    EXP : PTR ( EXP ) : exp_init_arg #
672
#pragma interface exp_init_arg
673
 
674
#pragma token PROC (\
675
	EXP : TYPE :,\
676
	EXP : IDENTIFIER :,\
677
	EXP : EXP :,\
678
	EXP lvalue : EXP :\
679
    ) STATEMENT MAKE_exp_init #
680
#pragma interface MAKE_exp_init
681
 
682
#pragma token PROC (\
683
	EXP lvalue : TYPE :,\
684
	EXP lvalue : IDENTIFIER :,\
685
	EXP lvalue : EXP :,\
686
	EXP : EXP :\
687
    ) STATEMENT DECONS_exp_init #
688
#pragma interface DECONS_exp_init
689
 
690
#pragma token PROC (\
691
	EXP : DESTROYER :,\
692
	EXP lvalue : TYPE :,\
693
	EXP lvalue : IDENTIFIER :,\
694
	EXP lvalue : EXP :,\
695
	EXP : EXP :\
696
    ) STATEMENT DESTROY_exp_init #
697
#pragma interface DESTROY_exp_init
698
 
699
 
700
/* Operations for field preinc of union EXP */
701
 
702
#pragma token EXP const : unsigned : exp_preinc_tag #
703
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_preinc #
704
#pragma interface exp_preinc_tag IS_exp_preinc
705
 
706
#pragma token PROC ( EXP : EXP : )\
707
    EXP : PTR ( EXP ) : exp_preinc_ref #
708
#pragma interface exp_preinc_ref
709
 
710
#pragma token PROC ( EXP : EXP : )\
711
    EXP : PTR ( EXP ) : exp_preinc_op #
712
#pragma interface exp_preinc_op
713
 
714
#pragma token PROC ( EXP : EXP : )\
715
    EXP : PTR ( int ) : exp_preinc_becomes #
716
#pragma interface exp_preinc_becomes
717
 
718
#pragma token PROC (\
719
	EXP : TYPE :,\
720
	EXP : EXP :,\
721
	EXP : EXP :,\
722
	EXP : int :,\
723
	EXP lvalue : EXP :\
724
    ) STATEMENT MAKE_exp_preinc #
725
#pragma interface MAKE_exp_preinc
726
 
727
#pragma token PROC (\
728
	EXP lvalue : TYPE :,\
729
	EXP lvalue : EXP :,\
730
	EXP lvalue : EXP :,\
731
	EXP lvalue : int :,\
732
	EXP : EXP :\
733
    ) STATEMENT DECONS_exp_preinc #
734
#pragma interface DECONS_exp_preinc
735
 
736
#pragma token PROC (\
737
	EXP : DESTROYER :,\
738
	EXP lvalue : TYPE :,\
739
	EXP lvalue : EXP :,\
740
	EXP lvalue : EXP :,\
741
	EXP lvalue : int :,\
742
	EXP : EXP :\
743
    ) STATEMENT DESTROY_exp_preinc #
744
#pragma interface DESTROY_exp_preinc
745
 
746
 
747
/* Operations for field postinc of union EXP */
748
 
749
#pragma token EXP const : unsigned : exp_postinc_tag #
750
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_postinc #
751
#pragma interface exp_postinc_tag IS_exp_postinc
752
 
753
#pragma token PROC ( EXP : EXP : )\
754
    EXP : PTR ( EXP ) : exp_postinc_ref #
755
#pragma interface exp_postinc_ref
756
 
757
#pragma token PROC ( EXP : EXP : )\
758
    EXP : PTR ( EXP ) : exp_postinc_value #
759
#pragma interface exp_postinc_value
760
 
761
#pragma token PROC ( EXP : EXP : )\
762
    EXP : PTR ( EXP ) : exp_postinc_op #
763
#pragma interface exp_postinc_op
764
 
765
#pragma token PROC (\
766
	EXP : TYPE :,\
767
	EXP : EXP :,\
768
	EXP : EXP :,\
769
	EXP : EXP :,\
770
	EXP lvalue : EXP :\
771
    ) STATEMENT MAKE_exp_postinc #
772
#pragma interface MAKE_exp_postinc
773
 
774
#pragma token PROC (\
775
	EXP lvalue : TYPE :,\
776
	EXP lvalue : EXP :,\
777
	EXP lvalue : EXP :,\
778
	EXP lvalue : EXP :,\
779
	EXP : EXP :\
780
    ) STATEMENT DECONS_exp_postinc #
781
#pragma interface DECONS_exp_postinc
782
 
783
#pragma token PROC (\
784
	EXP : DESTROYER :,\
785
	EXP lvalue : TYPE :,\
786
	EXP lvalue : EXP :,\
787
	EXP lvalue : EXP :,\
788
	EXP lvalue : EXP :,\
789
	EXP : EXP :\
790
    ) STATEMENT DESTROY_exp_postinc #
791
#pragma interface DESTROY_exp_postinc
792
 
793
 
794
/* Operations for field indir of union EXP */
795
 
796
#pragma token EXP const : unsigned : exp_indir_tag #
797
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_indir #
798
#pragma interface exp_indir_tag IS_exp_indir
799
 
800
#pragma token PROC ( EXP : EXP : )\
801
    EXP : PTR ( EXP ) : exp_indir_ptr #
802
#pragma interface exp_indir_ptr
803
 
804
#pragma token PROC ( EXP : EXP : )\
805
    EXP : PTR ( int ) : exp_indir_index #
806
#pragma interface exp_indir_index
807
 
808
#pragma token PROC (\
809
	EXP : TYPE :,\
810
	EXP : EXP :,\
811
	EXP lvalue : EXP :\
812
    ) STATEMENT MAKE_exp_indir #
813
#pragma interface MAKE_exp_indir
814
 
815
#pragma token PROC (\
816
	EXP lvalue : TYPE :,\
817
	EXP lvalue : EXP :,\
818
	EXP lvalue : int :,\
819
	EXP : EXP :\
820
    ) STATEMENT DECONS_exp_indir #
821
#pragma interface DECONS_exp_indir
822
 
823
#pragma token PROC (\
824
	EXP : DESTROYER :,\
825
	EXP lvalue : TYPE :,\
826
	EXP lvalue : EXP :,\
827
	EXP lvalue : int :,\
828
	EXP : EXP :\
829
    ) STATEMENT DESTROY_exp_indir #
830
#pragma interface DESTROY_exp_indir
831
 
832
 
833
/* Operations for field contents of union EXP */
834
 
835
#pragma token EXP const : unsigned : exp_contents_tag #
836
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_contents #
837
#pragma interface exp_contents_tag IS_exp_contents
838
 
839
#pragma token PROC ( EXP : EXP : )\
840
    EXP : PTR ( EXP ) : exp_contents_ptr #
841
#pragma interface exp_contents_ptr
842
 
843
#pragma token PROC (\
844
	EXP : TYPE :,\
845
	EXP : EXP :,\
846
	EXP lvalue : EXP :\
847
    ) STATEMENT MAKE_exp_contents #
848
#pragma interface MAKE_exp_contents
849
 
850
#pragma token PROC (\
851
	EXP lvalue : TYPE :,\
852
	EXP lvalue : EXP :,\
853
	EXP : EXP :\
854
    ) STATEMENT DECONS_exp_contents #
855
#pragma interface DECONS_exp_contents
856
 
857
#pragma token PROC (\
858
	EXP : DESTROYER :,\
859
	EXP lvalue : TYPE :,\
860
	EXP lvalue : EXP :,\
861
	EXP : EXP :\
862
    ) STATEMENT DESTROY_exp_contents #
863
#pragma interface DESTROY_exp_contents
864
 
865
 
866
/* Operations for field address of union EXP */
867
 
868
#pragma token EXP const : unsigned : exp_address_tag #
869
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_address #
870
#pragma interface exp_address_tag IS_exp_address
871
 
872
#pragma token PROC ( EXP : EXP : )\
873
    EXP : PTR ( EXP ) : exp_address_arg #
874
#pragma interface exp_address_arg
875
 
876
#pragma token PROC (\
877
	EXP : TYPE :,\
878
	EXP : EXP :,\
879
	EXP lvalue : EXP :\
880
    ) STATEMENT MAKE_exp_address #
881
#pragma interface MAKE_exp_address
882
 
883
#pragma token PROC (\
884
	EXP lvalue : TYPE :,\
885
	EXP lvalue : EXP :,\
886
	EXP : EXP :\
887
    ) STATEMENT DECONS_exp_address #
888
#pragma interface DECONS_exp_address
889
 
890
#pragma token PROC (\
891
	EXP : DESTROYER :,\
892
	EXP lvalue : TYPE :,\
893
	EXP lvalue : EXP :,\
894
	EXP : EXP :\
895
    ) STATEMENT DESTROY_exp_address #
896
#pragma interface DESTROY_exp_address
897
 
898
 
899
/* Operations for field address_mem of union EXP */
900
 
901
#pragma token EXP const : unsigned : exp_address_mem_tag #
902
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_address_mem #
903
#pragma interface exp_address_mem_tag IS_exp_address_mem
904
 
905
#pragma token PROC ( EXP : EXP : )\
906
    EXP : PTR ( EXP ) : exp_address_mem_arg #
907
#pragma interface exp_address_mem_arg
908
 
909
#pragma token PROC ( EXP : EXP : )\
910
    EXP : PTR ( int ) : exp_address_mem_paren #
911
#pragma interface exp_address_mem_paren
912
 
913
#pragma token PROC (\
914
	EXP : TYPE :,\
915
	EXP : EXP :,\
916
	EXP : int :,\
917
	EXP lvalue : EXP :\
918
    ) STATEMENT MAKE_exp_address_mem #
919
#pragma interface MAKE_exp_address_mem
920
 
921
#pragma token PROC (\
922
	EXP lvalue : TYPE :,\
923
	EXP lvalue : EXP :,\
924
	EXP lvalue : int :,\
925
	EXP : EXP :\
926
    ) STATEMENT DECONS_exp_address_mem #
927
#pragma interface DECONS_exp_address_mem
928
 
929
#pragma token PROC (\
930
	EXP : DESTROYER :,\
931
	EXP lvalue : TYPE :,\
932
	EXP lvalue : EXP :,\
933
	EXP lvalue : int :,\
934
	EXP : EXP :\
935
    ) STATEMENT DESTROY_exp_address_mem #
936
#pragma interface DESTROY_exp_address_mem
937
 
938
 
939
/* Operations for field func of union EXP */
940
 
941
#pragma token EXP const : unsigned : exp_func_tag #
942
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_func #
943
#pragma interface exp_func_tag IS_exp_func
944
 
945
#pragma token PROC ( EXP : EXP : )\
946
    EXP : PTR ( EXP ) : exp_func_fn #
947
#pragma interface exp_func_fn
948
 
949
#pragma token PROC ( EXP : EXP : )\
950
    EXP : PTR ( LIST ( EXP ) ) : exp_func_args #
951
#pragma interface exp_func_args
952
 
953
#pragma token PROC ( EXP : EXP : )\
954
    EXP : PTR ( unsigned ) : exp_func_extra #
955
#pragma interface exp_func_extra
956
 
957
#pragma token PROC (\
958
	EXP : TYPE :,\
959
	EXP : EXP :,\
960
	EXP : LIST ( EXP ) :,\
961
	EXP lvalue : EXP :\
962
    ) STATEMENT MAKE_exp_func #
963
#pragma interface MAKE_exp_func
964
 
965
#pragma token PROC (\
966
	EXP lvalue : TYPE :,\
967
	EXP lvalue : EXP :,\
968
	EXP lvalue : LIST ( EXP ) :,\
969
	EXP lvalue : unsigned :,\
970
	EXP : EXP :\
971
    ) STATEMENT DECONS_exp_func #
972
#pragma interface DECONS_exp_func
973
 
974
#pragma token PROC (\
975
	EXP : DESTROYER :,\
976
	EXP lvalue : TYPE :,\
977
	EXP lvalue : EXP :,\
978
	EXP lvalue : LIST ( EXP ) :,\
979
	EXP lvalue : unsigned :,\
980
	EXP : EXP :\
981
    ) STATEMENT DESTROY_exp_func #
982
#pragma interface DESTROY_exp_func
983
 
984
 
985
/* Operations for field func_id of union EXP */
986
 
987
#pragma token EXP const : unsigned : exp_func_id_tag #
988
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_func_id #
989
#pragma interface exp_func_id_tag IS_exp_func_id
990
 
991
#pragma token PROC ( EXP : EXP : )\
992
    EXP : PTR ( IDENTIFIER ) : exp_func_id_id #
993
#pragma interface exp_func_id_id
994
 
995
#pragma token PROC ( EXP : EXP : )\
996
    EXP : PTR ( LIST ( EXP ) ) : exp_func_id_args #
997
#pragma interface exp_func_id_args
998
 
999
#pragma token PROC ( EXP : EXP : )\
1000
    EXP : PTR ( EXP ) : exp_func_id_virt #
1001
#pragma interface exp_func_id_virt
1002
 
1003
#pragma token PROC ( EXP : EXP : )\
1004
    EXP : PTR ( unsigned ) : exp_func_id_extra #
1005
#pragma interface exp_func_id_extra
1006
 
1007
#pragma token PROC (\
1008
	EXP : TYPE :,\
1009
	EXP : IDENTIFIER :,\
1010
	EXP : LIST ( EXP ) :,\
1011
	EXP : EXP :,\
1012
	EXP lvalue : EXP :\
1013
    ) STATEMENT MAKE_exp_func_id #
1014
#pragma interface MAKE_exp_func_id
1015
 
1016
#pragma token PROC (\
1017
	EXP lvalue : TYPE :,\
1018
	EXP lvalue : IDENTIFIER :,\
1019
	EXP lvalue : LIST ( EXP ) :,\
1020
	EXP lvalue : EXP :,\
1021
	EXP lvalue : unsigned :,\
1022
	EXP : EXP :\
1023
    ) STATEMENT DECONS_exp_func_id #
1024
#pragma interface DECONS_exp_func_id
1025
 
1026
#pragma token PROC (\
1027
	EXP : DESTROYER :,\
1028
	EXP lvalue : TYPE :,\
1029
	EXP lvalue : IDENTIFIER :,\
1030
	EXP lvalue : LIST ( EXP ) :,\
1031
	EXP lvalue : EXP :,\
1032
	EXP lvalue : unsigned :,\
1033
	EXP : EXP :\
1034
    ) STATEMENT DESTROY_exp_func_id #
1035
#pragma interface DESTROY_exp_func_id
1036
 
1037
 
1038
/* Operations for field call of union EXP */
1039
 
1040
#pragma token EXP const : unsigned : exp_call_tag #
1041
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_call #
1042
#pragma interface exp_call_tag IS_exp_call
1043
 
1044
#pragma token PROC ( EXP : EXP : )\
1045
    EXP : PTR ( EXP ) : exp_call_ptr #
1046
#pragma interface exp_call_ptr
1047
 
1048
#pragma token PROC ( EXP : EXP : )\
1049
    EXP : PTR ( EXP ) : exp_call_arg #
1050
#pragma interface exp_call_arg
1051
 
1052
#pragma token PROC ( EXP : EXP : )\
1053
    EXP : PTR ( GRAPH ) : exp_call_base #
1054
#pragma interface exp_call_base
1055
 
1056
#pragma token PROC (\
1057
	EXP : TYPE :,\
1058
	EXP : EXP :,\
1059
	EXP : EXP :,\
1060
	EXP : GRAPH :,\
1061
	EXP lvalue : EXP :\
1062
    ) STATEMENT MAKE_exp_call #
1063
#pragma interface MAKE_exp_call
1064
 
1065
#pragma token PROC (\
1066
	EXP lvalue : TYPE :,\
1067
	EXP lvalue : EXP :,\
1068
	EXP lvalue : EXP :,\
1069
	EXP lvalue : GRAPH :,\
1070
	EXP : EXP :\
1071
    ) STATEMENT DECONS_exp_call #
1072
#pragma interface DECONS_exp_call
1073
 
1074
#pragma token PROC (\
1075
	EXP : DESTROYER :,\
1076
	EXP lvalue : TYPE :,\
1077
	EXP lvalue : EXP :,\
1078
	EXP lvalue : EXP :,\
1079
	EXP lvalue : GRAPH :,\
1080
	EXP : EXP :\
1081
    ) STATEMENT DESTROY_exp_call #
1082
#pragma interface DESTROY_exp_call
1083
 
1084
 
1085
/* Operations for field set negate_etc of union EXP */
1086
 
1087
#pragma token EXP const : unsigned : exp_negate_etc_tag #
1088
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_negate_etc #
1089
#pragma interface exp_negate_etc_tag IS_exp_negate_etc
1090
 
1091
#pragma token PROC ( EXP : EXP : )\
1092
    EXP : PTR ( EXP ) : exp_negate_etc_arg #
1093
#pragma interface exp_negate_etc_arg
1094
 
1095
#pragma token PROC (\
1096
	EXP : unsigned :,\
1097
	EXP : TYPE :,\
1098
	EXP : EXP :,\
1099
	EXP lvalue : EXP :\
1100
    ) STATEMENT MAKE_exp_negate_etc #
1101
#pragma interface MAKE_exp_negate_etc
1102
 
1103
#pragma token PROC (\
1104
	EXP : unsigned :,\
1105
	EXP : EXP :\
1106
    ) STATEMENT MODIFY_exp_negate_etc #
1107
#pragma interface MODIFY_exp_negate_etc
1108
 
1109
#pragma token PROC (\
1110
	EXP lvalue : TYPE :,\
1111
	EXP lvalue : EXP :,\
1112
	EXP : EXP :\
1113
    ) STATEMENT DECONS_exp_negate_etc #
1114
#pragma interface DECONS_exp_negate_etc
1115
 
1116
#pragma token PROC (\
1117
	EXP : DESTROYER :,\
1118
	EXP lvalue : TYPE :,\
1119
	EXP lvalue : EXP :,\
1120
	EXP : EXP :\
1121
    ) STATEMENT DESTROY_exp_negate_etc #
1122
#pragma interface DESTROY_exp_negate_etc
1123
 
1124
 
1125
/* Operations for field negate of union EXP */
1126
 
1127
#pragma token EXP const : unsigned : exp_negate_tag #
1128
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_negate #
1129
#pragma interface exp_negate_tag IS_exp_negate
1130
 
1131
#pragma token PROC ( EXP : EXP : )\
1132
    EXP : PTR ( EXP ) : exp_negate_arg #
1133
#pragma interface exp_negate_arg
1134
 
1135
#pragma token PROC (\
1136
	EXP : TYPE :,\
1137
	EXP : EXP :,\
1138
	EXP lvalue : EXP :\
1139
    ) STATEMENT MAKE_exp_negate #
1140
#pragma interface MAKE_exp_negate
1141
 
1142
#pragma token PROC (\
1143
	EXP lvalue : TYPE :,\
1144
	EXP lvalue : EXP :,\
1145
	EXP : EXP :\
1146
    ) STATEMENT DECONS_exp_negate #
1147
#pragma interface DECONS_exp_negate
1148
 
1149
#pragma token PROC (\
1150
	EXP : DESTROYER :,\
1151
	EXP lvalue : TYPE :,\
1152
	EXP lvalue : EXP :,\
1153
	EXP : EXP :\
1154
    ) STATEMENT DESTROY_exp_negate #
1155
#pragma interface DESTROY_exp_negate
1156
 
1157
 
1158
/* Operations for field compl of union EXP */
1159
 
1160
#pragma token EXP const : unsigned : exp_compl_tag #
1161
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_compl #
1162
#pragma interface exp_compl_tag IS_exp_compl
1163
 
1164
#pragma token PROC ( EXP : EXP : )\
1165
    EXP : PTR ( EXP ) : exp_compl_arg #
1166
#pragma interface exp_compl_arg
1167
 
1168
#pragma token PROC (\
1169
	EXP : TYPE :,\
1170
	EXP : EXP :,\
1171
	EXP lvalue : EXP :\
1172
    ) STATEMENT MAKE_exp_compl #
1173
#pragma interface MAKE_exp_compl
1174
 
1175
#pragma token PROC (\
1176
	EXP lvalue : TYPE :,\
1177
	EXP lvalue : EXP :,\
1178
	EXP : EXP :\
1179
    ) STATEMENT DECONS_exp_compl #
1180
#pragma interface DECONS_exp_compl
1181
 
1182
#pragma token PROC (\
1183
	EXP : DESTROYER :,\
1184
	EXP lvalue : TYPE :,\
1185
	EXP lvalue : EXP :,\
1186
	EXP : EXP :\
1187
    ) STATEMENT DESTROY_exp_compl #
1188
#pragma interface DESTROY_exp_compl
1189
 
1190
 
1191
/* Operations for field not of union EXP */
1192
 
1193
#pragma token EXP const : unsigned : exp_not_tag #
1194
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_not #
1195
#pragma interface exp_not_tag IS_exp_not
1196
 
1197
#pragma token PROC ( EXP : EXP : )\
1198
    EXP : PTR ( EXP ) : exp_not_arg #
1199
#pragma interface exp_not_arg
1200
 
1201
#pragma token PROC (\
1202
	EXP : TYPE :,\
1203
	EXP : EXP :,\
1204
	EXP lvalue : EXP :\
1205
    ) STATEMENT MAKE_exp_not #
1206
#pragma interface MAKE_exp_not
1207
 
1208
#pragma token PROC (\
1209
	EXP lvalue : TYPE :,\
1210
	EXP lvalue : EXP :,\
1211
	EXP : EXP :\
1212
    ) STATEMENT DECONS_exp_not #
1213
#pragma interface DECONS_exp_not
1214
 
1215
#pragma token PROC (\
1216
	EXP : DESTROYER :,\
1217
	EXP lvalue : TYPE :,\
1218
	EXP lvalue : EXP :,\
1219
	EXP : EXP :\
1220
    ) STATEMENT DESTROY_exp_not #
1221
#pragma interface DESTROY_exp_not
1222
 
1223
 
1224
/* Operations for field abs of union EXP */
1225
 
1226
#pragma token EXP const : unsigned : exp_abs_tag #
1227
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_abs #
1228
#pragma interface exp_abs_tag IS_exp_abs
1229
 
1230
#pragma token PROC ( EXP : EXP : )\
1231
    EXP : PTR ( EXP ) : exp_abs_arg #
1232
#pragma interface exp_abs_arg
1233
 
1234
#pragma token PROC (\
1235
	EXP : TYPE :,\
1236
	EXP : EXP :,\
1237
	EXP lvalue : EXP :\
1238
    ) STATEMENT MAKE_exp_abs #
1239
#pragma interface MAKE_exp_abs
1240
 
1241
#pragma token PROC (\
1242
	EXP lvalue : TYPE :,\
1243
	EXP lvalue : EXP :,\
1244
	EXP : EXP :\
1245
    ) STATEMENT DECONS_exp_abs #
1246
#pragma interface DECONS_exp_abs
1247
 
1248
#pragma token PROC (\
1249
	EXP : DESTROYER :,\
1250
	EXP lvalue : TYPE :,\
1251
	EXP lvalue : EXP :,\
1252
	EXP : EXP :\
1253
    ) STATEMENT DESTROY_exp_abs #
1254
#pragma interface DESTROY_exp_abs
1255
 
1256
 
1257
/* Operations for field set plus_etc of union EXP */
1258
 
1259
#pragma token EXP const : unsigned : exp_plus_etc_tag #
1260
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_plus_etc #
1261
#pragma interface exp_plus_etc_tag IS_exp_plus_etc
1262
 
1263
#pragma token PROC ( EXP : EXP : )\
1264
    EXP : PTR ( EXP ) : exp_plus_etc_arg1 #
1265
#pragma interface exp_plus_etc_arg1
1266
 
1267
#pragma token PROC ( EXP : EXP : )\
1268
    EXP : PTR ( EXP ) : exp_plus_etc_arg2 #
1269
#pragma interface exp_plus_etc_arg2
1270
 
1271
#pragma token PROC (\
1272
	EXP : unsigned :,\
1273
	EXP : TYPE :,\
1274
	EXP : EXP :,\
1275
	EXP : EXP :,\
1276
	EXP lvalue : EXP :\
1277
    ) STATEMENT MAKE_exp_plus_etc #
1278
#pragma interface MAKE_exp_plus_etc
1279
 
1280
#pragma token PROC (\
1281
	EXP : unsigned :,\
1282
	EXP : EXP :\
1283
    ) STATEMENT MODIFY_exp_plus_etc #
1284
#pragma interface MODIFY_exp_plus_etc
1285
 
1286
#pragma token PROC (\
1287
	EXP lvalue : TYPE :,\
1288
	EXP lvalue : EXP :,\
1289
	EXP lvalue : EXP :,\
1290
	EXP : EXP :\
1291
    ) STATEMENT DECONS_exp_plus_etc #
1292
#pragma interface DECONS_exp_plus_etc
1293
 
1294
#pragma token PROC (\
1295
	EXP : DESTROYER :,\
1296
	EXP lvalue : TYPE :,\
1297
	EXP lvalue : EXP :,\
1298
	EXP lvalue : EXP :,\
1299
	EXP : EXP :\
1300
    ) STATEMENT DESTROY_exp_plus_etc #
1301
#pragma interface DESTROY_exp_plus_etc
1302
 
1303
 
1304
/* Operations for field plus of union EXP */
1305
 
1306
#pragma token EXP const : unsigned : exp_plus_tag #
1307
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_plus #
1308
#pragma interface exp_plus_tag IS_exp_plus
1309
 
1310
#pragma token PROC ( EXP : EXP : )\
1311
    EXP : PTR ( EXP ) : exp_plus_arg1 #
1312
#pragma interface exp_plus_arg1
1313
 
1314
#pragma token PROC ( EXP : EXP : )\
1315
    EXP : PTR ( EXP ) : exp_plus_arg2 #
1316
#pragma interface exp_plus_arg2
1317
 
1318
#pragma token PROC (\
1319
	EXP : TYPE :,\
1320
	EXP : EXP :,\
1321
	EXP : EXP :,\
1322
	EXP lvalue : EXP :\
1323
    ) STATEMENT MAKE_exp_plus #
1324
#pragma interface MAKE_exp_plus
1325
 
1326
#pragma token PROC (\
1327
	EXP lvalue : TYPE :,\
1328
	EXP lvalue : EXP :,\
1329
	EXP lvalue : EXP :,\
1330
	EXP : EXP :\
1331
    ) STATEMENT DECONS_exp_plus #
1332
#pragma interface DECONS_exp_plus
1333
 
1334
#pragma token PROC (\
1335
	EXP : DESTROYER :,\
1336
	EXP lvalue : TYPE :,\
1337
	EXP lvalue : EXP :,\
1338
	EXP lvalue : EXP :,\
1339
	EXP : EXP :\
1340
    ) STATEMENT DESTROY_exp_plus #
1341
#pragma interface DESTROY_exp_plus
1342
 
1343
 
1344
/* Operations for field minus of union EXP */
1345
 
1346
#pragma token EXP const : unsigned : exp_minus_tag #
1347
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_minus #
1348
#pragma interface exp_minus_tag IS_exp_minus
1349
 
1350
#pragma token PROC ( EXP : EXP : )\
1351
    EXP : PTR ( EXP ) : exp_minus_arg1 #
1352
#pragma interface exp_minus_arg1
1353
 
1354
#pragma token PROC ( EXP : EXP : )\
1355
    EXP : PTR ( EXP ) : exp_minus_arg2 #
1356
#pragma interface exp_minus_arg2
1357
 
1358
#pragma token PROC (\
1359
	EXP : TYPE :,\
1360
	EXP : EXP :,\
1361
	EXP : EXP :,\
1362
	EXP lvalue : EXP :\
1363
    ) STATEMENT MAKE_exp_minus #
1364
#pragma interface MAKE_exp_minus
1365
 
1366
#pragma token PROC (\
1367
	EXP lvalue : TYPE :,\
1368
	EXP lvalue : EXP :,\
1369
	EXP lvalue : EXP :,\
1370
	EXP : EXP :\
1371
    ) STATEMENT DECONS_exp_minus #
1372
#pragma interface DECONS_exp_minus
1373
 
1374
#pragma token PROC (\
1375
	EXP : DESTROYER :,\
1376
	EXP lvalue : TYPE :,\
1377
	EXP lvalue : EXP :,\
1378
	EXP lvalue : EXP :,\
1379
	EXP : EXP :\
1380
    ) STATEMENT DESTROY_exp_minus #
1381
#pragma interface DESTROY_exp_minus
1382
 
1383
 
1384
/* Operations for field mult of union EXP */
1385
 
1386
#pragma token EXP const : unsigned : exp_mult_tag #
1387
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_mult #
1388
#pragma interface exp_mult_tag IS_exp_mult
1389
 
1390
#pragma token PROC ( EXP : EXP : )\
1391
    EXP : PTR ( EXP ) : exp_mult_arg1 #
1392
#pragma interface exp_mult_arg1
1393
 
1394
#pragma token PROC ( EXP : EXP : )\
1395
    EXP : PTR ( EXP ) : exp_mult_arg2 #
1396
#pragma interface exp_mult_arg2
1397
 
1398
#pragma token PROC (\
1399
	EXP : TYPE :,\
1400
	EXP : EXP :,\
1401
	EXP : EXP :,\
1402
	EXP lvalue : EXP :\
1403
    ) STATEMENT MAKE_exp_mult #
1404
#pragma interface MAKE_exp_mult
1405
 
1406
#pragma token PROC (\
1407
	EXP lvalue : TYPE :,\
1408
	EXP lvalue : EXP :,\
1409
	EXP lvalue : EXP :,\
1410
	EXP : EXP :\
1411
    ) STATEMENT DECONS_exp_mult #
1412
#pragma interface DECONS_exp_mult
1413
 
1414
#pragma token PROC (\
1415
	EXP : DESTROYER :,\
1416
	EXP lvalue : TYPE :,\
1417
	EXP lvalue : EXP :,\
1418
	EXP lvalue : EXP :,\
1419
	EXP : EXP :\
1420
    ) STATEMENT DESTROY_exp_mult #
1421
#pragma interface DESTROY_exp_mult
1422
 
1423
 
1424
/* Operations for field div of union EXP */
1425
 
1426
#pragma token EXP const : unsigned : exp_div_tag #
1427
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_div #
1428
#pragma interface exp_div_tag IS_exp_div
1429
 
1430
#pragma token PROC ( EXP : EXP : )\
1431
    EXP : PTR ( EXP ) : exp_div_arg1 #
1432
#pragma interface exp_div_arg1
1433
 
1434
#pragma token PROC ( EXP : EXP : )\
1435
    EXP : PTR ( EXP ) : exp_div_arg2 #
1436
#pragma interface exp_div_arg2
1437
 
1438
#pragma token PROC (\
1439
	EXP : TYPE :,\
1440
	EXP : EXP :,\
1441
	EXP : EXP :,\
1442
	EXP lvalue : EXP :\
1443
    ) STATEMENT MAKE_exp_div #
1444
#pragma interface MAKE_exp_div
1445
 
1446
#pragma token PROC (\
1447
	EXP lvalue : TYPE :,\
1448
	EXP lvalue : EXP :,\
1449
	EXP lvalue : EXP :,\
1450
	EXP : EXP :\
1451
    ) STATEMENT DECONS_exp_div #
1452
#pragma interface DECONS_exp_div
1453
 
1454
#pragma token PROC (\
1455
	EXP : DESTROYER :,\
1456
	EXP lvalue : TYPE :,\
1457
	EXP lvalue : EXP :,\
1458
	EXP lvalue : EXP :,\
1459
	EXP : EXP :\
1460
    ) STATEMENT DESTROY_exp_div #
1461
#pragma interface DESTROY_exp_div
1462
 
1463
 
1464
/* Operations for field rem of union EXP */
1465
 
1466
#pragma token EXP const : unsigned : exp_rem_tag #
1467
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_rem #
1468
#pragma interface exp_rem_tag IS_exp_rem
1469
 
1470
#pragma token PROC ( EXP : EXP : )\
1471
    EXP : PTR ( EXP ) : exp_rem_arg1 #
1472
#pragma interface exp_rem_arg1
1473
 
1474
#pragma token PROC ( EXP : EXP : )\
1475
    EXP : PTR ( EXP ) : exp_rem_arg2 #
1476
#pragma interface exp_rem_arg2
1477
 
1478
#pragma token PROC (\
1479
	EXP : TYPE :,\
1480
	EXP : EXP :,\
1481
	EXP : EXP :,\
1482
	EXP lvalue : EXP :\
1483
    ) STATEMENT MAKE_exp_rem #
1484
#pragma interface MAKE_exp_rem
1485
 
1486
#pragma token PROC (\
1487
	EXP lvalue : TYPE :,\
1488
	EXP lvalue : EXP :,\
1489
	EXP lvalue : EXP :,\
1490
	EXP : EXP :\
1491
    ) STATEMENT DECONS_exp_rem #
1492
#pragma interface DECONS_exp_rem
1493
 
1494
#pragma token PROC (\
1495
	EXP : DESTROYER :,\
1496
	EXP lvalue : TYPE :,\
1497
	EXP lvalue : EXP :,\
1498
	EXP lvalue : EXP :,\
1499
	EXP : EXP :\
1500
    ) STATEMENT DESTROY_exp_rem #
1501
#pragma interface DESTROY_exp_rem
1502
 
1503
 
1504
/* Operations for field and of union EXP */
1505
 
1506
#pragma token EXP const : unsigned : exp_and_tag #
1507
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_and #
1508
#pragma interface exp_and_tag IS_exp_and
1509
 
1510
#pragma token PROC ( EXP : EXP : )\
1511
    EXP : PTR ( EXP ) : exp_and_arg1 #
1512
#pragma interface exp_and_arg1
1513
 
1514
#pragma token PROC ( EXP : EXP : )\
1515
    EXP : PTR ( EXP ) : exp_and_arg2 #
1516
#pragma interface exp_and_arg2
1517
 
1518
#pragma token PROC (\
1519
	EXP : TYPE :,\
1520
	EXP : EXP :,\
1521
	EXP : EXP :,\
1522
	EXP lvalue : EXP :\
1523
    ) STATEMENT MAKE_exp_and #
1524
#pragma interface MAKE_exp_and
1525
 
1526
#pragma token PROC (\
1527
	EXP lvalue : TYPE :,\
1528
	EXP lvalue : EXP :,\
1529
	EXP lvalue : EXP :,\
1530
	EXP : EXP :\
1531
    ) STATEMENT DECONS_exp_and #
1532
#pragma interface DECONS_exp_and
1533
 
1534
#pragma token PROC (\
1535
	EXP : DESTROYER :,\
1536
	EXP lvalue : TYPE :,\
1537
	EXP lvalue : EXP :,\
1538
	EXP lvalue : EXP :,\
1539
	EXP : EXP :\
1540
    ) STATEMENT DESTROY_exp_and #
1541
#pragma interface DESTROY_exp_and
1542
 
1543
 
1544
/* Operations for field or of union EXP */
1545
 
1546
#pragma token EXP const : unsigned : exp_or_tag #
1547
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_or #
1548
#pragma interface exp_or_tag IS_exp_or
1549
 
1550
#pragma token PROC ( EXP : EXP : )\
1551
    EXP : PTR ( EXP ) : exp_or_arg1 #
1552
#pragma interface exp_or_arg1
1553
 
1554
#pragma token PROC ( EXP : EXP : )\
1555
    EXP : PTR ( EXP ) : exp_or_arg2 #
1556
#pragma interface exp_or_arg2
1557
 
1558
#pragma token PROC (\
1559
	EXP : TYPE :,\
1560
	EXP : EXP :,\
1561
	EXP : EXP :,\
1562
	EXP lvalue : EXP :\
1563
    ) STATEMENT MAKE_exp_or #
1564
#pragma interface MAKE_exp_or
1565
 
1566
#pragma token PROC (\
1567
	EXP lvalue : TYPE :,\
1568
	EXP lvalue : EXP :,\
1569
	EXP lvalue : EXP :,\
1570
	EXP : EXP :\
1571
    ) STATEMENT DECONS_exp_or #
1572
#pragma interface DECONS_exp_or
1573
 
1574
#pragma token PROC (\
1575
	EXP : DESTROYER :,\
1576
	EXP lvalue : TYPE :,\
1577
	EXP lvalue : EXP :,\
1578
	EXP lvalue : EXP :,\
1579
	EXP : EXP :\
1580
    ) STATEMENT DESTROY_exp_or #
1581
#pragma interface DESTROY_exp_or
1582
 
1583
 
1584
/* Operations for field xor of union EXP */
1585
 
1586
#pragma token EXP const : unsigned : exp_xor_tag #
1587
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_xor #
1588
#pragma interface exp_xor_tag IS_exp_xor
1589
 
1590
#pragma token PROC ( EXP : EXP : )\
1591
    EXP : PTR ( EXP ) : exp_xor_arg1 #
1592
#pragma interface exp_xor_arg1
1593
 
1594
#pragma token PROC ( EXP : EXP : )\
1595
    EXP : PTR ( EXP ) : exp_xor_arg2 #
1596
#pragma interface exp_xor_arg2
1597
 
1598
#pragma token PROC (\
1599
	EXP : TYPE :,\
1600
	EXP : EXP :,\
1601
	EXP : EXP :,\
1602
	EXP lvalue : EXP :\
1603
    ) STATEMENT MAKE_exp_xor #
1604
#pragma interface MAKE_exp_xor
1605
 
1606
#pragma token PROC (\
1607
	EXP lvalue : TYPE :,\
1608
	EXP lvalue : EXP :,\
1609
	EXP lvalue : EXP :,\
1610
	EXP : EXP :\
1611
    ) STATEMENT DECONS_exp_xor #
1612
#pragma interface DECONS_exp_xor
1613
 
1614
#pragma token PROC (\
1615
	EXP : DESTROYER :,\
1616
	EXP lvalue : TYPE :,\
1617
	EXP lvalue : EXP :,\
1618
	EXP lvalue : EXP :,\
1619
	EXP : EXP :\
1620
    ) STATEMENT DESTROY_exp_xor #
1621
#pragma interface DESTROY_exp_xor
1622
 
1623
 
1624
/* Operations for field log_and of union EXP */
1625
 
1626
#pragma token EXP const : unsigned : exp_log_and_tag #
1627
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_log_and #
1628
#pragma interface exp_log_and_tag IS_exp_log_and
1629
 
1630
#pragma token PROC ( EXP : EXP : )\
1631
    EXP : PTR ( EXP ) : exp_log_and_arg1 #
1632
#pragma interface exp_log_and_arg1
1633
 
1634
#pragma token PROC ( EXP : EXP : )\
1635
    EXP : PTR ( EXP ) : exp_log_and_arg2 #
1636
#pragma interface exp_log_and_arg2
1637
 
1638
#pragma token PROC (\
1639
	EXP : TYPE :,\
1640
	EXP : EXP :,\
1641
	EXP : EXP :,\
1642
	EXP lvalue : EXP :\
1643
    ) STATEMENT MAKE_exp_log_and #
1644
#pragma interface MAKE_exp_log_and
1645
 
1646
#pragma token PROC (\
1647
	EXP lvalue : TYPE :,\
1648
	EXP lvalue : EXP :,\
1649
	EXP lvalue : EXP :,\
1650
	EXP : EXP :\
1651
    ) STATEMENT DECONS_exp_log_and #
1652
#pragma interface DECONS_exp_log_and
1653
 
1654
#pragma token PROC (\
1655
	EXP : DESTROYER :,\
1656
	EXP lvalue : TYPE :,\
1657
	EXP lvalue : EXP :,\
1658
	EXP lvalue : EXP :,\
1659
	EXP : EXP :\
1660
    ) STATEMENT DESTROY_exp_log_and #
1661
#pragma interface DESTROY_exp_log_and
1662
 
1663
 
1664
/* Operations for field log_or of union EXP */
1665
 
1666
#pragma token EXP const : unsigned : exp_log_or_tag #
1667
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_log_or #
1668
#pragma interface exp_log_or_tag IS_exp_log_or
1669
 
1670
#pragma token PROC ( EXP : EXP : )\
1671
    EXP : PTR ( EXP ) : exp_log_or_arg1 #
1672
#pragma interface exp_log_or_arg1
1673
 
1674
#pragma token PROC ( EXP : EXP : )\
1675
    EXP : PTR ( EXP ) : exp_log_or_arg2 #
1676
#pragma interface exp_log_or_arg2
1677
 
1678
#pragma token PROC (\
1679
	EXP : TYPE :,\
1680
	EXP : EXP :,\
1681
	EXP : EXP :,\
1682
	EXP lvalue : EXP :\
1683
    ) STATEMENT MAKE_exp_log_or #
1684
#pragma interface MAKE_exp_log_or
1685
 
1686
#pragma token PROC (\
1687
	EXP lvalue : TYPE :,\
1688
	EXP lvalue : EXP :,\
1689
	EXP lvalue : EXP :,\
1690
	EXP : EXP :\
1691
    ) STATEMENT DECONS_exp_log_or #
1692
#pragma interface DECONS_exp_log_or
1693
 
1694
#pragma token PROC (\
1695
	EXP : DESTROYER :,\
1696
	EXP lvalue : TYPE :,\
1697
	EXP lvalue : EXP :,\
1698
	EXP lvalue : EXP :,\
1699
	EXP : EXP :\
1700
    ) STATEMENT DESTROY_exp_log_or #
1701
#pragma interface DESTROY_exp_log_or
1702
 
1703
 
1704
/* Operations for field lshift of union EXP */
1705
 
1706
#pragma token EXP const : unsigned : exp_lshift_tag #
1707
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_lshift #
1708
#pragma interface exp_lshift_tag IS_exp_lshift
1709
 
1710
#pragma token PROC ( EXP : EXP : )\
1711
    EXP : PTR ( EXP ) : exp_lshift_arg1 #
1712
#pragma interface exp_lshift_arg1
1713
 
1714
#pragma token PROC ( EXP : EXP : )\
1715
    EXP : PTR ( EXP ) : exp_lshift_arg2 #
1716
#pragma interface exp_lshift_arg2
1717
 
1718
#pragma token PROC (\
1719
	EXP : TYPE :,\
1720
	EXP : EXP :,\
1721
	EXP : EXP :,\
1722
	EXP lvalue : EXP :\
1723
    ) STATEMENT MAKE_exp_lshift #
1724
#pragma interface MAKE_exp_lshift
1725
 
1726
#pragma token PROC (\
1727
	EXP lvalue : TYPE :,\
1728
	EXP lvalue : EXP :,\
1729
	EXP lvalue : EXP :,\
1730
	EXP : EXP :\
1731
    ) STATEMENT DECONS_exp_lshift #
1732
#pragma interface DECONS_exp_lshift
1733
 
1734
#pragma token PROC (\
1735
	EXP : DESTROYER :,\
1736
	EXP lvalue : TYPE :,\
1737
	EXP lvalue : EXP :,\
1738
	EXP lvalue : EXP :,\
1739
	EXP : EXP :\
1740
    ) STATEMENT DESTROY_exp_lshift #
1741
#pragma interface DESTROY_exp_lshift
1742
 
1743
 
1744
/* Operations for field rshift of union EXP */
1745
 
1746
#pragma token EXP const : unsigned : exp_rshift_tag #
1747
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_rshift #
1748
#pragma interface exp_rshift_tag IS_exp_rshift
1749
 
1750
#pragma token PROC ( EXP : EXP : )\
1751
    EXP : PTR ( EXP ) : exp_rshift_arg1 #
1752
#pragma interface exp_rshift_arg1
1753
 
1754
#pragma token PROC ( EXP : EXP : )\
1755
    EXP : PTR ( EXP ) : exp_rshift_arg2 #
1756
#pragma interface exp_rshift_arg2
1757
 
1758
#pragma token PROC (\
1759
	EXP : TYPE :,\
1760
	EXP : EXP :,\
1761
	EXP : EXP :,\
1762
	EXP lvalue : EXP :\
1763
    ) STATEMENT MAKE_exp_rshift #
1764
#pragma interface MAKE_exp_rshift
1765
 
1766
#pragma token PROC (\
1767
	EXP lvalue : TYPE :,\
1768
	EXP lvalue : EXP :,\
1769
	EXP lvalue : EXP :,\
1770
	EXP : EXP :\
1771
    ) STATEMENT DECONS_exp_rshift #
1772
#pragma interface DECONS_exp_rshift
1773
 
1774
#pragma token PROC (\
1775
	EXP : DESTROYER :,\
1776
	EXP lvalue : TYPE :,\
1777
	EXP lvalue : EXP :,\
1778
	EXP lvalue : EXP :,\
1779
	EXP : EXP :\
1780
    ) STATEMENT DESTROY_exp_rshift #
1781
#pragma interface DESTROY_exp_rshift
1782
 
1783
 
1784
/* Operations for field max of union EXP */
1785
 
1786
#pragma token EXP const : unsigned : exp_max_tag #
1787
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_max #
1788
#pragma interface exp_max_tag IS_exp_max
1789
 
1790
#pragma token PROC ( EXP : EXP : )\
1791
    EXP : PTR ( EXP ) : exp_max_arg1 #
1792
#pragma interface exp_max_arg1
1793
 
1794
#pragma token PROC ( EXP : EXP : )\
1795
    EXP : PTR ( EXP ) : exp_max_arg2 #
1796
#pragma interface exp_max_arg2
1797
 
1798
#pragma token PROC (\
1799
	EXP : TYPE :,\
1800
	EXP : EXP :,\
1801
	EXP : EXP :,\
1802
	EXP lvalue : EXP :\
1803
    ) STATEMENT MAKE_exp_max #
1804
#pragma interface MAKE_exp_max
1805
 
1806
#pragma token PROC (\
1807
	EXP lvalue : TYPE :,\
1808
	EXP lvalue : EXP :,\
1809
	EXP lvalue : EXP :,\
1810
	EXP : EXP :\
1811
    ) STATEMENT DECONS_exp_max #
1812
#pragma interface DECONS_exp_max
1813
 
1814
#pragma token PROC (\
1815
	EXP : DESTROYER :,\
1816
	EXP lvalue : TYPE :,\
1817
	EXP lvalue : EXP :,\
1818
	EXP lvalue : EXP :,\
1819
	EXP : EXP :\
1820
    ) STATEMENT DESTROY_exp_max #
1821
#pragma interface DESTROY_exp_max
1822
 
1823
 
1824
/* Operations for field min of union EXP */
1825
 
1826
#pragma token EXP const : unsigned : exp_min_tag #
1827
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_min #
1828
#pragma interface exp_min_tag IS_exp_min
1829
 
1830
#pragma token PROC ( EXP : EXP : )\
1831
    EXP : PTR ( EXP ) : exp_min_arg1 #
1832
#pragma interface exp_min_arg1
1833
 
1834
#pragma token PROC ( EXP : EXP : )\
1835
    EXP : PTR ( EXP ) : exp_min_arg2 #
1836
#pragma interface exp_min_arg2
1837
 
1838
#pragma token PROC (\
1839
	EXP : TYPE :,\
1840
	EXP : EXP :,\
1841
	EXP : EXP :,\
1842
	EXP lvalue : EXP :\
1843
    ) STATEMENT MAKE_exp_min #
1844
#pragma interface MAKE_exp_min
1845
 
1846
#pragma token PROC (\
1847
	EXP lvalue : TYPE :,\
1848
	EXP lvalue : EXP :,\
1849
	EXP lvalue : EXP :,\
1850
	EXP : EXP :\
1851
    ) STATEMENT DECONS_exp_min #
1852
#pragma interface DECONS_exp_min
1853
 
1854
#pragma token PROC (\
1855
	EXP : DESTROYER :,\
1856
	EXP lvalue : TYPE :,\
1857
	EXP lvalue : EXP :,\
1858
	EXP lvalue : EXP :,\
1859
	EXP : EXP :\
1860
    ) STATEMENT DESTROY_exp_min #
1861
#pragma interface DESTROY_exp_min
1862
 
1863
 
1864
/* Operations for field test of union EXP */
1865
 
1866
#pragma token EXP const : unsigned : exp_test_tag #
1867
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_test #
1868
#pragma interface exp_test_tag IS_exp_test
1869
 
1870
#pragma token PROC ( EXP : EXP : )\
1871
    EXP : PTR ( NTEST ) : exp_test_tst #
1872
#pragma interface exp_test_tst
1873
 
1874
#pragma token PROC ( EXP : EXP : )\
1875
    EXP : PTR ( EXP ) : exp_test_arg #
1876
#pragma interface exp_test_arg
1877
 
1878
#pragma token PROC (\
1879
	EXP : TYPE :,\
1880
	EXP : NTEST :,\
1881
	EXP : EXP :,\
1882
	EXP lvalue : EXP :\
1883
    ) STATEMENT MAKE_exp_test #
1884
#pragma interface MAKE_exp_test
1885
 
1886
#pragma token PROC (\
1887
	EXP lvalue : TYPE :,\
1888
	EXP lvalue : NTEST :,\
1889
	EXP lvalue : EXP :,\
1890
	EXP : EXP :\
1891
    ) STATEMENT DECONS_exp_test #
1892
#pragma interface DECONS_exp_test
1893
 
1894
#pragma token PROC (\
1895
	EXP : DESTROYER :,\
1896
	EXP lvalue : TYPE :,\
1897
	EXP lvalue : NTEST :,\
1898
	EXP lvalue : EXP :,\
1899
	EXP : EXP :\
1900
    ) STATEMENT DESTROY_exp_test #
1901
#pragma interface DESTROY_exp_test
1902
 
1903
 
1904
/* Operations for field compare of union EXP */
1905
 
1906
#pragma token EXP const : unsigned : exp_compare_tag #
1907
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_compare #
1908
#pragma interface exp_compare_tag IS_exp_compare
1909
 
1910
#pragma token PROC ( EXP : EXP : )\
1911
    EXP : PTR ( NTEST ) : exp_compare_tst #
1912
#pragma interface exp_compare_tst
1913
 
1914
#pragma token PROC ( EXP : EXP : )\
1915
    EXP : PTR ( EXP ) : exp_compare_arg1 #
1916
#pragma interface exp_compare_arg1
1917
 
1918
#pragma token PROC ( EXP : EXP : )\
1919
    EXP : PTR ( EXP ) : exp_compare_arg2 #
1920
#pragma interface exp_compare_arg2
1921
 
1922
#pragma token PROC (\
1923
	EXP : TYPE :,\
1924
	EXP : NTEST :,\
1925
	EXP : EXP :,\
1926
	EXP : EXP :,\
1927
	EXP lvalue : EXP :\
1928
    ) STATEMENT MAKE_exp_compare #
1929
#pragma interface MAKE_exp_compare
1930
 
1931
#pragma token PROC (\
1932
	EXP lvalue : TYPE :,\
1933
	EXP lvalue : NTEST :,\
1934
	EXP lvalue : EXP :,\
1935
	EXP lvalue : EXP :,\
1936
	EXP : EXP :\
1937
    ) STATEMENT DECONS_exp_compare #
1938
#pragma interface DECONS_exp_compare
1939
 
1940
#pragma token PROC (\
1941
	EXP : DESTROYER :,\
1942
	EXP lvalue : TYPE :,\
1943
	EXP lvalue : NTEST :,\
1944
	EXP lvalue : EXP :,\
1945
	EXP lvalue : EXP :,\
1946
	EXP : EXP :\
1947
    ) STATEMENT DESTROY_exp_compare #
1948
#pragma interface DESTROY_exp_compare
1949
 
1950
 
1951
/* Operations for field cast of union EXP */
1952
 
1953
#pragma token EXP const : unsigned : exp_cast_tag #
1954
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_cast #
1955
#pragma interface exp_cast_tag IS_exp_cast
1956
 
1957
#pragma token PROC ( EXP : EXP : )\
1958
    EXP : PTR ( unsigned ) : exp_cast_conv #
1959
#pragma interface exp_cast_conv
1960
 
1961
#pragma token PROC ( EXP : EXP : )\
1962
    EXP : PTR ( EXP ) : exp_cast_arg #
1963
#pragma interface exp_cast_arg
1964
 
1965
#pragma token PROC (\
1966
	EXP : TYPE :,\
1967
	EXP : unsigned :,\
1968
	EXP : EXP :,\
1969
	EXP lvalue : EXP :\
1970
    ) STATEMENT MAKE_exp_cast #
1971
#pragma interface MAKE_exp_cast
1972
 
1973
#pragma token PROC (\
1974
	EXP lvalue : TYPE :,\
1975
	EXP lvalue : unsigned :,\
1976
	EXP lvalue : EXP :,\
1977
	EXP : EXP :\
1978
    ) STATEMENT DECONS_exp_cast #
1979
#pragma interface DECONS_exp_cast
1980
 
1981
#pragma token PROC (\
1982
	EXP : DESTROYER :,\
1983
	EXP lvalue : TYPE :,\
1984
	EXP lvalue : unsigned :,\
1985
	EXP lvalue : EXP :,\
1986
	EXP : EXP :\
1987
    ) STATEMENT DESTROY_exp_cast #
1988
#pragma interface DESTROY_exp_cast
1989
 
1990
 
1991
/* Operations for field base_cast of union EXP */
1992
 
1993
#pragma token EXP const : unsigned : exp_base_cast_tag #
1994
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_base_cast #
1995
#pragma interface exp_base_cast_tag IS_exp_base_cast
1996
 
1997
#pragma token PROC ( EXP : EXP : )\
1998
    EXP : PTR ( unsigned ) : exp_base_cast_conv #
1999
#pragma interface exp_base_cast_conv
2000
 
2001
#pragma token PROC ( EXP : EXP : )\
2002
    EXP : PTR ( EXP ) : exp_base_cast_arg #
2003
#pragma interface exp_base_cast_arg
2004
 
2005
#pragma token PROC ( EXP : EXP : )\
2006
    EXP : PTR ( OFFSET ) : exp_base_cast_off #
2007
#pragma interface exp_base_cast_off
2008
 
2009
#pragma token PROC (\
2010
	EXP : TYPE :,\
2011
	EXP : unsigned :,\
2012
	EXP : EXP :,\
2013
	EXP : OFFSET :,\
2014
	EXP lvalue : EXP :\
2015
    ) STATEMENT MAKE_exp_base_cast #
2016
#pragma interface MAKE_exp_base_cast
2017
 
2018
#pragma token PROC (\
2019
	EXP lvalue : TYPE :,\
2020
	EXP lvalue : unsigned :,\
2021
	EXP lvalue : EXP :,\
2022
	EXP lvalue : OFFSET :,\
2023
	EXP : EXP :\
2024
    ) STATEMENT DECONS_exp_base_cast #
2025
#pragma interface DECONS_exp_base_cast
2026
 
2027
#pragma token PROC (\
2028
	EXP : DESTROYER :,\
2029
	EXP lvalue : TYPE :,\
2030
	EXP lvalue : unsigned :,\
2031
	EXP lvalue : EXP :,\
2032
	EXP lvalue : OFFSET :,\
2033
	EXP : EXP :\
2034
    ) STATEMENT DESTROY_exp_base_cast #
2035
#pragma interface DESTROY_exp_base_cast
2036
 
2037
 
2038
/* Operations for field dyn_cast of union EXP */
2039
 
2040
#pragma token EXP const : unsigned : exp_dyn_cast_tag #
2041
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_dyn_cast #
2042
#pragma interface exp_dyn_cast_tag IS_exp_dyn_cast
2043
 
2044
#pragma token PROC ( EXP : EXP : )\
2045
    EXP : PTR ( EXP ) : exp_dyn_cast_arg #
2046
#pragma interface exp_dyn_cast_arg
2047
 
2048
#pragma token PROC ( EXP : EXP : )\
2049
    EXP : PTR ( EXP ) : exp_dyn_cast_except #
2050
#pragma interface exp_dyn_cast_except
2051
 
2052
#pragma token PROC (\
2053
	EXP : TYPE :,\
2054
	EXP : EXP :,\
2055
	EXP : EXP :,\
2056
	EXP lvalue : EXP :\
2057
    ) STATEMENT MAKE_exp_dyn_cast #
2058
#pragma interface MAKE_exp_dyn_cast
2059
 
2060
#pragma token PROC (\
2061
	EXP lvalue : TYPE :,\
2062
	EXP lvalue : EXP :,\
2063
	EXP lvalue : EXP :,\
2064
	EXP : EXP :\
2065
    ) STATEMENT DECONS_exp_dyn_cast #
2066
#pragma interface DECONS_exp_dyn_cast
2067
 
2068
#pragma token PROC (\
2069
	EXP : DESTROYER :,\
2070
	EXP lvalue : TYPE :,\
2071
	EXP lvalue : EXP :,\
2072
	EXP lvalue : EXP :,\
2073
	EXP : EXP :\
2074
    ) STATEMENT DESTROY_exp_dyn_cast #
2075
#pragma interface DESTROY_exp_dyn_cast
2076
 
2077
 
2078
/* Operations for field add_ptr of union EXP */
2079
 
2080
#pragma token EXP const : unsigned : exp_add_ptr_tag #
2081
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_add_ptr #
2082
#pragma interface exp_add_ptr_tag IS_exp_add_ptr
2083
 
2084
#pragma token PROC ( EXP : EXP : )\
2085
    EXP : PTR ( EXP ) : exp_add_ptr_ptr #
2086
#pragma interface exp_add_ptr_ptr
2087
 
2088
#pragma token PROC ( EXP : EXP : )\
2089
    EXP : PTR ( OFFSET ) : exp_add_ptr_off #
2090
#pragma interface exp_add_ptr_off
2091
 
2092
#pragma token PROC ( EXP : EXP : )\
2093
    EXP : PTR ( int ) : exp_add_ptr_virt #
2094
#pragma interface exp_add_ptr_virt
2095
 
2096
#pragma token PROC (\
2097
	EXP : TYPE :,\
2098
	EXP : EXP :,\
2099
	EXP : OFFSET :,\
2100
	EXP : int :,\
2101
	EXP lvalue : EXP :\
2102
    ) STATEMENT MAKE_exp_add_ptr #
2103
#pragma interface MAKE_exp_add_ptr
2104
 
2105
#pragma token PROC (\
2106
	EXP lvalue : TYPE :,\
2107
	EXP lvalue : EXP :,\
2108
	EXP lvalue : OFFSET :,\
2109
	EXP lvalue : int :,\
2110
	EXP : EXP :\
2111
    ) STATEMENT DECONS_exp_add_ptr #
2112
#pragma interface DECONS_exp_add_ptr
2113
 
2114
#pragma token PROC (\
2115
	EXP : DESTROYER :,\
2116
	EXP lvalue : TYPE :,\
2117
	EXP lvalue : EXP :,\
2118
	EXP lvalue : OFFSET :,\
2119
	EXP lvalue : int :,\
2120
	EXP : EXP :\
2121
    ) STATEMENT DESTROY_exp_add_ptr #
2122
#pragma interface DESTROY_exp_add_ptr
2123
 
2124
 
2125
/* Operations for field offset_size of union EXP */
2126
 
2127
#pragma token EXP const : unsigned : exp_offset_size_tag #
2128
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_offset_size #
2129
#pragma interface exp_offset_size_tag IS_exp_offset_size
2130
 
2131
#pragma token PROC ( EXP : EXP : )\
2132
    EXP : PTR ( OFFSET ) : exp_offset_size_off #
2133
#pragma interface exp_offset_size_off
2134
 
2135
#pragma token PROC ( EXP : EXP : )\
2136
    EXP : PTR ( TYPE ) : exp_offset_size_step #
2137
#pragma interface exp_offset_size_step
2138
 
2139
#pragma token PROC ( EXP : EXP : )\
2140
    EXP : PTR ( int ) : exp_offset_size_pad #
2141
#pragma interface exp_offset_size_pad
2142
 
2143
#pragma token PROC (\
2144
	EXP : TYPE :,\
2145
	EXP : OFFSET :,\
2146
	EXP : TYPE :,\
2147
	EXP : int :,\
2148
	EXP lvalue : EXP :\
2149
    ) STATEMENT MAKE_exp_offset_size #
2150
#pragma interface MAKE_exp_offset_size
2151
 
2152
#pragma token PROC (\
2153
	EXP lvalue : TYPE :,\
2154
	EXP lvalue : OFFSET :,\
2155
	EXP lvalue : TYPE :,\
2156
	EXP lvalue : int :,\
2157
	EXP : EXP :\
2158
    ) STATEMENT DECONS_exp_offset_size #
2159
#pragma interface DECONS_exp_offset_size
2160
 
2161
#pragma token PROC (\
2162
	EXP : DESTROYER :,\
2163
	EXP lvalue : TYPE :,\
2164
	EXP lvalue : OFFSET :,\
2165
	EXP lvalue : TYPE :,\
2166
	EXP lvalue : int :,\
2167
	EXP : EXP :\
2168
    ) STATEMENT DESTROY_exp_offset_size #
2169
#pragma interface DESTROY_exp_offset_size
2170
 
2171
 
2172
/* Operations for field constr of union EXP */
2173
 
2174
#pragma token EXP const : unsigned : exp_constr_tag #
2175
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_constr #
2176
#pragma interface exp_constr_tag IS_exp_constr
2177
 
2178
#pragma token PROC ( EXP : EXP : )\
2179
    EXP : PTR ( EXP ) : exp_constr_call #
2180
#pragma interface exp_constr_call
2181
 
2182
#pragma token PROC ( EXP : EXP : )\
2183
    EXP : PTR ( EXP ) : exp_constr_obj #
2184
#pragma interface exp_constr_obj
2185
 
2186
#pragma token PROC ( EXP : EXP : )\
2187
    EXP : PTR ( EXP ) : exp_constr_alt #
2188
#pragma interface exp_constr_alt
2189
 
2190
#pragma token PROC ( EXP : EXP : )\
2191
    EXP : PTR ( int ) : exp_constr_info #
2192
#pragma interface exp_constr_info
2193
 
2194
#pragma token PROC (\
2195
	EXP : TYPE :,\
2196
	EXP : EXP :,\
2197
	EXP : EXP :,\
2198
	EXP : EXP :,\
2199
	EXP : int :,\
2200
	EXP lvalue : EXP :\
2201
    ) STATEMENT MAKE_exp_constr #
2202
#pragma interface MAKE_exp_constr
2203
 
2204
#pragma token PROC (\
2205
	EXP lvalue : TYPE :,\
2206
	EXP lvalue : EXP :,\
2207
	EXP lvalue : EXP :,\
2208
	EXP lvalue : EXP :,\
2209
	EXP lvalue : int :,\
2210
	EXP : EXP :\
2211
    ) STATEMENT DECONS_exp_constr #
2212
#pragma interface DECONS_exp_constr
2213
 
2214
#pragma token PROC (\
2215
	EXP : DESTROYER :,\
2216
	EXP lvalue : TYPE :,\
2217
	EXP lvalue : EXP :,\
2218
	EXP lvalue : EXP :,\
2219
	EXP lvalue : EXP :,\
2220
	EXP lvalue : int :,\
2221
	EXP : EXP :\
2222
    ) STATEMENT DESTROY_exp_constr #
2223
#pragma interface DESTROY_exp_constr
2224
 
2225
 
2226
/* Operations for field destr of union EXP */
2227
 
2228
#pragma token EXP const : unsigned : exp_destr_tag #
2229
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_destr #
2230
#pragma interface exp_destr_tag IS_exp_destr
2231
 
2232
#pragma token PROC ( EXP : EXP : )\
2233
    EXP : PTR ( EXP ) : exp_destr_call #
2234
#pragma interface exp_destr_call
2235
 
2236
#pragma token PROC ( EXP : EXP : )\
2237
    EXP : PTR ( EXP ) : exp_destr_obj #
2238
#pragma interface exp_destr_obj
2239
 
2240
#pragma token PROC ( EXP : EXP : )\
2241
    EXP : PTR ( EXP ) : exp_destr_count #
2242
#pragma interface exp_destr_count
2243
 
2244
#pragma token PROC (\
2245
	EXP : TYPE :,\
2246
	EXP : EXP :,\
2247
	EXP : EXP :,\
2248
	EXP lvalue : EXP :\
2249
    ) STATEMENT MAKE_exp_destr #
2250
#pragma interface MAKE_exp_destr
2251
 
2252
#pragma token PROC (\
2253
	EXP lvalue : TYPE :,\
2254
	EXP lvalue : EXP :,\
2255
	EXP lvalue : EXP :,\
2256
	EXP lvalue : EXP :,\
2257
	EXP : EXP :\
2258
    ) STATEMENT DECONS_exp_destr #
2259
#pragma interface DECONS_exp_destr
2260
 
2261
#pragma token PROC (\
2262
	EXP : DESTROYER :,\
2263
	EXP lvalue : TYPE :,\
2264
	EXP lvalue : EXP :,\
2265
	EXP lvalue : EXP :,\
2266
	EXP lvalue : EXP :,\
2267
	EXP : EXP :\
2268
    ) STATEMENT DESTROY_exp_destr #
2269
#pragma interface DESTROY_exp_destr
2270
 
2271
 
2272
/* Operations for field alloc of union EXP */
2273
 
2274
#pragma token EXP const : unsigned : exp_alloc_tag #
2275
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_alloc #
2276
#pragma interface exp_alloc_tag IS_exp_alloc
2277
 
2278
#pragma token PROC ( EXP : EXP : )\
2279
    EXP : PTR ( EXP ) : exp_alloc_call #
2280
#pragma interface exp_alloc_call
2281
 
2282
#pragma token PROC ( EXP : EXP : )\
2283
    EXP : PTR ( EXP ) : exp_alloc_init #
2284
#pragma interface exp_alloc_init
2285
 
2286
#pragma token PROC ( EXP : EXP : )\
2287
    EXP : PTR ( EXP ) : exp_alloc_garbage #
2288
#pragma interface exp_alloc_garbage
2289
 
2290
#pragma token PROC ( EXP : EXP : )\
2291
    EXP : PTR ( EXP ) : exp_alloc_size #
2292
#pragma interface exp_alloc_size
2293
 
2294
#pragma token PROC (\
2295
	EXP : TYPE :,\
2296
	EXP : EXP :,\
2297
	EXP : EXP :,\
2298
	EXP : EXP :,\
2299
	EXP : EXP :,\
2300
	EXP lvalue : EXP :\
2301
    ) STATEMENT MAKE_exp_alloc #
2302
#pragma interface MAKE_exp_alloc
2303
 
2304
#pragma token PROC (\
2305
	EXP lvalue : TYPE :,\
2306
	EXP lvalue : EXP :,\
2307
	EXP lvalue : EXP :,\
2308
	EXP lvalue : EXP :,\
2309
	EXP lvalue : EXP :,\
2310
	EXP : EXP :\
2311
    ) STATEMENT DECONS_exp_alloc #
2312
#pragma interface DECONS_exp_alloc
2313
 
2314
#pragma token PROC (\
2315
	EXP : DESTROYER :,\
2316
	EXP lvalue : TYPE :,\
2317
	EXP lvalue : EXP :,\
2318
	EXP lvalue : EXP :,\
2319
	EXP lvalue : EXP :,\
2320
	EXP lvalue : EXP :,\
2321
	EXP : EXP :\
2322
    ) STATEMENT DESTROY_exp_alloc #
2323
#pragma interface DESTROY_exp_alloc
2324
 
2325
 
2326
/* Operations for field dealloc of union EXP */
2327
 
2328
#pragma token EXP const : unsigned : exp_dealloc_tag #
2329
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_dealloc #
2330
#pragma interface exp_dealloc_tag IS_exp_dealloc
2331
 
2332
#pragma token PROC ( EXP : EXP : )\
2333
    EXP : PTR ( EXP ) : exp_dealloc_term #
2334
#pragma interface exp_dealloc_term
2335
 
2336
#pragma token PROC ( EXP : EXP : )\
2337
    EXP : PTR ( EXP ) : exp_dealloc_call #
2338
#pragma interface exp_dealloc_call
2339
 
2340
#pragma token PROC ( EXP : EXP : )\
2341
    EXP : PTR ( EXP ) : exp_dealloc_arg #
2342
#pragma interface exp_dealloc_arg
2343
 
2344
#pragma token PROC ( EXP : EXP : )\
2345
    EXP : PTR ( EXP ) : exp_dealloc_size #
2346
#pragma interface exp_dealloc_size
2347
 
2348
#pragma token PROC (\
2349
	EXP : TYPE :,\
2350
	EXP : EXP :,\
2351
	EXP : EXP :,\
2352
	EXP : EXP :,\
2353
	EXP : EXP :,\
2354
	EXP lvalue : EXP :\
2355
    ) STATEMENT MAKE_exp_dealloc #
2356
#pragma interface MAKE_exp_dealloc
2357
 
2358
#pragma token PROC (\
2359
	EXP lvalue : TYPE :,\
2360
	EXP lvalue : EXP :,\
2361
	EXP lvalue : EXP :,\
2362
	EXP lvalue : EXP :,\
2363
	EXP lvalue : EXP :,\
2364
	EXP : EXP :\
2365
    ) STATEMENT DECONS_exp_dealloc #
2366
#pragma interface DECONS_exp_dealloc
2367
 
2368
#pragma token PROC (\
2369
	EXP : DESTROYER :,\
2370
	EXP lvalue : TYPE :,\
2371
	EXP lvalue : EXP :,\
2372
	EXP lvalue : EXP :,\
2373
	EXP lvalue : EXP :,\
2374
	EXP lvalue : EXP :,\
2375
	EXP : EXP :\
2376
    ) STATEMENT DESTROY_exp_dealloc #
2377
#pragma interface DESTROY_exp_dealloc
2378
 
2379
 
2380
/* Operations for field rtti of union EXP */
2381
 
2382
#pragma token EXP const : unsigned : exp_rtti_tag #
2383
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_rtti #
2384
#pragma interface exp_rtti_tag IS_exp_rtti
2385
 
2386
#pragma token PROC ( EXP : EXP : )\
2387
    EXP : PTR ( EXP ) : exp_rtti_arg #
2388
#pragma interface exp_rtti_arg
2389
 
2390
#pragma token PROC ( EXP : EXP : )\
2391
    EXP : PTR ( EXP ) : exp_rtti_except #
2392
#pragma interface exp_rtti_except
2393
 
2394
#pragma token PROC ( EXP : EXP : )\
2395
    EXP : PTR ( int ) : exp_rtti_op #
2396
#pragma interface exp_rtti_op
2397
 
2398
#pragma token PROC (\
2399
	EXP : TYPE :,\
2400
	EXP : EXP :,\
2401
	EXP : EXP :,\
2402
	EXP : int :,\
2403
	EXP lvalue : EXP :\
2404
    ) STATEMENT MAKE_exp_rtti #
2405
#pragma interface MAKE_exp_rtti
2406
 
2407
#pragma token PROC (\
2408
	EXP lvalue : TYPE :,\
2409
	EXP lvalue : EXP :,\
2410
	EXP lvalue : EXP :,\
2411
	EXP lvalue : int :,\
2412
	EXP : EXP :\
2413
    ) STATEMENT DECONS_exp_rtti #
2414
#pragma interface DECONS_exp_rtti
2415
 
2416
#pragma token PROC (\
2417
	EXP : DESTROYER :,\
2418
	EXP lvalue : TYPE :,\
2419
	EXP lvalue : EXP :,\
2420
	EXP lvalue : EXP :,\
2421
	EXP lvalue : int :,\
2422
	EXP : EXP :\
2423
    ) STATEMENT DESTROY_exp_rtti #
2424
#pragma interface DESTROY_exp_rtti
2425
 
2426
 
2427
/* Operations for field rtti_type of union EXP */
2428
 
2429
#pragma token EXP const : unsigned : exp_rtti_type_tag #
2430
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_rtti_type #
2431
#pragma interface exp_rtti_type_tag IS_exp_rtti_type
2432
 
2433
#pragma token PROC ( EXP : EXP : )\
2434
    EXP : PTR ( TYPE ) : exp_rtti_type_arg #
2435
#pragma interface exp_rtti_type_arg
2436
 
2437
#pragma token PROC ( EXP : EXP : )\
2438
    EXP : PTR ( int ) : exp_rtti_type_op #
2439
#pragma interface exp_rtti_type_op
2440
 
2441
#pragma token PROC (\
2442
	EXP : TYPE :,\
2443
	EXP : TYPE :,\
2444
	EXP : int :,\
2445
	EXP lvalue : EXP :\
2446
    ) STATEMENT MAKE_exp_rtti_type #
2447
#pragma interface MAKE_exp_rtti_type
2448
 
2449
#pragma token PROC (\
2450
	EXP lvalue : TYPE :,\
2451
	EXP lvalue : TYPE :,\
2452
	EXP lvalue : int :,\
2453
	EXP : EXP :\
2454
    ) STATEMENT DECONS_exp_rtti_type #
2455
#pragma interface DECONS_exp_rtti_type
2456
 
2457
#pragma token PROC (\
2458
	EXP : DESTROYER :,\
2459
	EXP lvalue : TYPE :,\
2460
	EXP lvalue : TYPE :,\
2461
	EXP lvalue : int :,\
2462
	EXP : EXP :\
2463
    ) STATEMENT DESTROY_exp_rtti_type #
2464
#pragma interface DESTROY_exp_rtti_type
2465
 
2466
 
2467
/* Operations for field rtti_no of union EXP */
2468
 
2469
#pragma token EXP const : unsigned : exp_rtti_no_tag #
2470
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_rtti_no #
2471
#pragma interface exp_rtti_no_tag IS_exp_rtti_no
2472
 
2473
#pragma token PROC ( EXP : EXP : )\
2474
    EXP : PTR ( TYPE ) : exp_rtti_no_arg #
2475
#pragma interface exp_rtti_no_arg
2476
 
2477
#pragma token PROC (\
2478
	EXP : TYPE :,\
2479
	EXP : TYPE :,\
2480
	EXP lvalue : EXP :\
2481
    ) STATEMENT MAKE_exp_rtti_no #
2482
#pragma interface MAKE_exp_rtti_no
2483
 
2484
#pragma token PROC (\
2485
	EXP lvalue : TYPE :,\
2486
	EXP lvalue : TYPE :,\
2487
	EXP : EXP :\
2488
    ) STATEMENT DECONS_exp_rtti_no #
2489
#pragma interface DECONS_exp_rtti_no
2490
 
2491
#pragma token PROC (\
2492
	EXP : DESTROYER :,\
2493
	EXP lvalue : TYPE :,\
2494
	EXP lvalue : TYPE :,\
2495
	EXP : EXP :\
2496
    ) STATEMENT DESTROY_exp_rtti_no #
2497
#pragma interface DESTROY_exp_rtti_no
2498
 
2499
 
2500
/* Operations for field dynamic of union EXP */
2501
 
2502
#pragma token EXP const : unsigned : exp_dynamic_tag #
2503
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_dynamic #
2504
#pragma interface exp_dynamic_tag IS_exp_dynamic
2505
 
2506
#pragma token PROC ( EXP : EXP : )\
2507
    EXP : PTR ( EXP ) : exp_dynamic_arg #
2508
#pragma interface exp_dynamic_arg
2509
 
2510
#pragma token PROC (\
2511
	EXP : TYPE :,\
2512
	EXP : EXP :,\
2513
	EXP lvalue : EXP :\
2514
    ) STATEMENT MAKE_exp_dynamic #
2515
#pragma interface MAKE_exp_dynamic
2516
 
2517
#pragma token PROC (\
2518
	EXP lvalue : TYPE :,\
2519
	EXP lvalue : EXP :,\
2520
	EXP : EXP :\
2521
    ) STATEMENT DECONS_exp_dynamic #
2522
#pragma interface DECONS_exp_dynamic
2523
 
2524
#pragma token PROC (\
2525
	EXP : DESTROYER :,\
2526
	EXP lvalue : TYPE :,\
2527
	EXP lvalue : EXP :,\
2528
	EXP : EXP :\
2529
    ) STATEMENT DESTROY_exp_dynamic #
2530
#pragma interface DESTROY_exp_dynamic
2531
 
2532
 
2533
/* Operations for field aggregate of union EXP */
2534
 
2535
#pragma token EXP const : unsigned : exp_aggregate_tag #
2536
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_aggregate #
2537
#pragma interface exp_aggregate_tag IS_exp_aggregate
2538
 
2539
#pragma token PROC ( EXP : EXP : )\
2540
    EXP : PTR ( LIST ( EXP ) ) : exp_aggregate_args #
2541
#pragma interface exp_aggregate_args
2542
 
2543
#pragma token PROC ( EXP : EXP : )\
2544
    EXP : PTR ( LIST ( OFFSET ) ) : exp_aggregate_offs #
2545
#pragma interface exp_aggregate_offs
2546
 
2547
#pragma token PROC (\
2548
	EXP : TYPE :,\
2549
	EXP : LIST ( EXP ) :,\
2550
	EXP : LIST ( OFFSET ) :,\
2551
	EXP lvalue : EXP :\
2552
    ) STATEMENT MAKE_exp_aggregate #
2553
#pragma interface MAKE_exp_aggregate
2554
 
2555
#pragma token PROC (\
2556
	EXP lvalue : TYPE :,\
2557
	EXP lvalue : LIST ( EXP ) :,\
2558
	EXP lvalue : LIST ( OFFSET ) :,\
2559
	EXP : EXP :\
2560
    ) STATEMENT DECONS_exp_aggregate #
2561
#pragma interface DECONS_exp_aggregate
2562
 
2563
#pragma token PROC (\
2564
	EXP : DESTROYER :,\
2565
	EXP lvalue : TYPE :,\
2566
	EXP lvalue : LIST ( EXP ) :,\
2567
	EXP lvalue : LIST ( OFFSET ) :,\
2568
	EXP : EXP :\
2569
    ) STATEMENT DESTROY_exp_aggregate #
2570
#pragma interface DESTROY_exp_aggregate
2571
 
2572
 
2573
/* Operations for field initialiser of union EXP */
2574
 
2575
#pragma token EXP const : unsigned : exp_initialiser_tag #
2576
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_initialiser #
2577
#pragma interface exp_initialiser_tag IS_exp_initialiser
2578
 
2579
#pragma token PROC ( EXP : EXP : )\
2580
    EXP : PTR ( LIST ( EXP ) ) : exp_initialiser_args #
2581
#pragma interface exp_initialiser_args
2582
 
2583
#pragma token PROC ( EXP : EXP : )\
2584
    EXP : PTR ( LIST ( OFFSET ) ) : exp_initialiser_offs #
2585
#pragma interface exp_initialiser_offs
2586
 
2587
#pragma token PROC ( EXP : EXP : )\
2588
    EXP : PTR ( int ) : exp_initialiser_kind #
2589
#pragma interface exp_initialiser_kind
2590
 
2591
#pragma token PROC ( EXP : EXP : )\
2592
    EXP : PTR ( unsigned ) : exp_initialiser_virt #
2593
#pragma interface exp_initialiser_virt
2594
 
2595
#pragma token PROC ( EXP : EXP : )\
2596
    EXP : PTR ( unsigned ) : exp_initialiser_base #
2597
#pragma interface exp_initialiser_base
2598
 
2599
#pragma token PROC (\
2600
	EXP : TYPE :,\
2601
	EXP : LIST ( EXP ) :,\
2602
	EXP : LIST ( OFFSET ) :,\
2603
	EXP : int :,\
2604
	EXP : unsigned :,\
2605
	EXP : unsigned :,\
2606
	EXP lvalue : EXP :\
2607
    ) STATEMENT MAKE_exp_initialiser #
2608
#pragma interface MAKE_exp_initialiser
2609
 
2610
#pragma token PROC (\
2611
	EXP lvalue : TYPE :,\
2612
	EXP lvalue : LIST ( EXP ) :,\
2613
	EXP lvalue : LIST ( OFFSET ) :,\
2614
	EXP lvalue : int :,\
2615
	EXP lvalue : unsigned :,\
2616
	EXP lvalue : unsigned :,\
2617
	EXP : EXP :\
2618
    ) STATEMENT DECONS_exp_initialiser #
2619
#pragma interface DECONS_exp_initialiser
2620
 
2621
#pragma token PROC (\
2622
	EXP : DESTROYER :,\
2623
	EXP lvalue : TYPE :,\
2624
	EXP lvalue : LIST ( EXP ) :,\
2625
	EXP lvalue : LIST ( OFFSET ) :,\
2626
	EXP lvalue : int :,\
2627
	EXP lvalue : unsigned :,\
2628
	EXP lvalue : unsigned :,\
2629
	EXP : EXP :\
2630
    ) STATEMENT DESTROY_exp_initialiser #
2631
#pragma interface DESTROY_exp_initialiser
2632
 
2633
 
2634
/* Operations for field nof of union EXP */
2635
 
2636
#pragma token EXP const : unsigned : exp_nof_tag #
2637
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_nof #
2638
#pragma interface exp_nof_tag IS_exp_nof
2639
 
2640
#pragma token PROC ( EXP : EXP : )\
2641
    EXP : PTR ( EXP ) : exp_nof_start #
2642
#pragma interface exp_nof_start
2643
 
2644
#pragma token PROC ( EXP : EXP : )\
2645
    EXP : PTR ( NAT ) : exp_nof_size #
2646
#pragma interface exp_nof_size
2647
 
2648
#pragma token PROC ( EXP : EXP : )\
2649
    EXP : PTR ( EXP ) : exp_nof_pad #
2650
#pragma interface exp_nof_pad
2651
 
2652
#pragma token PROC ( EXP : EXP : )\
2653
    EXP : PTR ( EXP ) : exp_nof_end #
2654
#pragma interface exp_nof_end
2655
 
2656
#pragma token PROC (\
2657
	EXP : TYPE :,\
2658
	EXP : EXP :,\
2659
	EXP : NAT :,\
2660
	EXP : EXP :,\
2661
	EXP : EXP :,\
2662
	EXP lvalue : EXP :\
2663
    ) STATEMENT MAKE_exp_nof #
2664
#pragma interface MAKE_exp_nof
2665
 
2666
#pragma token PROC (\
2667
	EXP lvalue : TYPE :,\
2668
	EXP lvalue : EXP :,\
2669
	EXP lvalue : NAT :,\
2670
	EXP lvalue : EXP :,\
2671
	EXP lvalue : EXP :,\
2672
	EXP : EXP :\
2673
    ) STATEMENT DECONS_exp_nof #
2674
#pragma interface DECONS_exp_nof
2675
 
2676
#pragma token PROC (\
2677
	EXP : DESTROYER :,\
2678
	EXP lvalue : TYPE :,\
2679
	EXP lvalue : EXP :,\
2680
	EXP lvalue : NAT :,\
2681
	EXP lvalue : EXP :,\
2682
	EXP lvalue : EXP :,\
2683
	EXP : EXP :\
2684
    ) STATEMENT DESTROY_exp_nof #
2685
#pragma interface DESTROY_exp_nof
2686
 
2687
 
2688
/* Operations for field comma of union EXP */
2689
 
2690
#pragma token EXP const : unsigned : exp_comma_tag #
2691
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_comma #
2692
#pragma interface exp_comma_tag IS_exp_comma
2693
 
2694
#pragma token PROC ( EXP : EXP : )\
2695
    EXP : PTR ( LIST ( EXP ) ) : exp_comma_args #
2696
#pragma interface exp_comma_args
2697
 
2698
#pragma token PROC (\
2699
	EXP : TYPE :,\
2700
	EXP : LIST ( EXP ) :,\
2701
	EXP lvalue : EXP :\
2702
    ) STATEMENT MAKE_exp_comma #
2703
#pragma interface MAKE_exp_comma
2704
 
2705
#pragma token PROC (\
2706
	EXP lvalue : TYPE :,\
2707
	EXP lvalue : LIST ( EXP ) :,\
2708
	EXP : EXP :\
2709
    ) STATEMENT DECONS_exp_comma #
2710
#pragma interface DECONS_exp_comma
2711
 
2712
#pragma token PROC (\
2713
	EXP : DESTROYER :,\
2714
	EXP lvalue : TYPE :,\
2715
	EXP lvalue : LIST ( EXP ) :,\
2716
	EXP : EXP :\
2717
    ) STATEMENT DESTROY_exp_comma #
2718
#pragma interface DESTROY_exp_comma
2719
 
2720
 
2721
/* Operations for field set set_etc of union EXP */
2722
 
2723
#pragma token EXP const : unsigned : exp_set_etc_tag #
2724
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_set_etc #
2725
#pragma interface exp_set_etc_tag IS_exp_set_etc
2726
 
2727
#pragma token PROC ( EXP : EXP : )\
2728
    EXP : PTR ( EXP ) : exp_set_etc_arg #
2729
#pragma interface exp_set_etc_arg
2730
 
2731
#pragma token PROC (\
2732
	EXP : unsigned :,\
2733
	EXP : TYPE :,\
2734
	EXP : EXP :,\
2735
	EXP lvalue : EXP :\
2736
    ) STATEMENT MAKE_exp_set_etc #
2737
#pragma interface MAKE_exp_set_etc
2738
 
2739
#pragma token PROC (\
2740
	EXP : unsigned :,\
2741
	EXP : EXP :\
2742
    ) STATEMENT MODIFY_exp_set_etc #
2743
#pragma interface MODIFY_exp_set_etc
2744
 
2745
#pragma token PROC (\
2746
	EXP lvalue : TYPE :,\
2747
	EXP lvalue : EXP :,\
2748
	EXP : EXP :\
2749
    ) STATEMENT DECONS_exp_set_etc #
2750
#pragma interface DECONS_exp_set_etc
2751
 
2752
#pragma token PROC (\
2753
	EXP : DESTROYER :,\
2754
	EXP lvalue : TYPE :,\
2755
	EXP lvalue : EXP :,\
2756
	EXP : EXP :\
2757
    ) STATEMENT DESTROY_exp_set_etc #
2758
#pragma interface DESTROY_exp_set_etc
2759
 
2760
 
2761
/* Operations for field set of union EXP */
2762
 
2763
#pragma token EXP const : unsigned : exp_set_tag #
2764
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_set #
2765
#pragma interface exp_set_tag IS_exp_set
2766
 
2767
#pragma token PROC ( EXP : EXP : )\
2768
    EXP : PTR ( EXP ) : exp_set_arg #
2769
#pragma interface exp_set_arg
2770
 
2771
#pragma token PROC (\
2772
	EXP : TYPE :,\
2773
	EXP : EXP :,\
2774
	EXP lvalue : EXP :\
2775
    ) STATEMENT MAKE_exp_set #
2776
#pragma interface MAKE_exp_set
2777
 
2778
#pragma token PROC (\
2779
	EXP lvalue : TYPE :,\
2780
	EXP lvalue : EXP :,\
2781
	EXP : EXP :\
2782
    ) STATEMENT DECONS_exp_set #
2783
#pragma interface DECONS_exp_set
2784
 
2785
#pragma token PROC (\
2786
	EXP : DESTROYER :,\
2787
	EXP lvalue : TYPE :,\
2788
	EXP lvalue : EXP :,\
2789
	EXP : EXP :\
2790
    ) STATEMENT DESTROY_exp_set #
2791
#pragma interface DESTROY_exp_set
2792
 
2793
 
2794
/* Operations for field unused of union EXP */
2795
 
2796
#pragma token EXP const : unsigned : exp_unused_tag #
2797
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_unused #
2798
#pragma interface exp_unused_tag IS_exp_unused
2799
 
2800
#pragma token PROC ( EXP : EXP : )\
2801
    EXP : PTR ( EXP ) : exp_unused_arg #
2802
#pragma interface exp_unused_arg
2803
 
2804
#pragma token PROC (\
2805
	EXP : TYPE :,\
2806
	EXP : EXP :,\
2807
	EXP lvalue : EXP :\
2808
    ) STATEMENT MAKE_exp_unused #
2809
#pragma interface MAKE_exp_unused
2810
 
2811
#pragma token PROC (\
2812
	EXP lvalue : TYPE :,\
2813
	EXP lvalue : EXP :,\
2814
	EXP : EXP :\
2815
    ) STATEMENT DECONS_exp_unused #
2816
#pragma interface DECONS_exp_unused
2817
 
2818
#pragma token PROC (\
2819
	EXP : DESTROYER :,\
2820
	EXP lvalue : TYPE :,\
2821
	EXP lvalue : EXP :,\
2822
	EXP : EXP :\
2823
    ) STATEMENT DESTROY_exp_unused #
2824
#pragma interface DESTROY_exp_unused
2825
 
2826
 
2827
/* Operations for field set reach_etc of union EXP */
2828
 
2829
#pragma token EXP const : unsigned : exp_reach_etc_tag #
2830
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_reach_etc #
2831
#pragma interface exp_reach_etc_tag IS_exp_reach_etc
2832
 
2833
#pragma token PROC ( EXP : EXP : )\
2834
    EXP : PTR ( EXP ) : exp_reach_etc_parent #
2835
#pragma interface exp_reach_etc_parent
2836
 
2837
#pragma token PROC ( EXP : EXP : )\
2838
    EXP : PTR ( EXP ) : exp_reach_etc_body #
2839
#pragma interface exp_reach_etc_body
2840
 
2841
#pragma token PROC (\
2842
	EXP : unsigned :,\
2843
	EXP : TYPE :,\
2844
	EXP : EXP :,\
2845
	EXP lvalue : EXP :\
2846
    ) STATEMENT MAKE_exp_reach_etc #
2847
#pragma interface MAKE_exp_reach_etc
2848
 
2849
#pragma token PROC (\
2850
	EXP : unsigned :,\
2851
	EXP : EXP :\
2852
    ) STATEMENT MODIFY_exp_reach_etc #
2853
#pragma interface MODIFY_exp_reach_etc
2854
 
2855
#pragma token PROC (\
2856
	EXP lvalue : TYPE :,\
2857
	EXP lvalue : EXP :,\
2858
	EXP lvalue : EXP :,\
2859
	EXP : EXP :\
2860
    ) STATEMENT DECONS_exp_reach_etc #
2861
#pragma interface DECONS_exp_reach_etc
2862
 
2863
#pragma token PROC (\
2864
	EXP : DESTROYER :,\
2865
	EXP lvalue : TYPE :,\
2866
	EXP lvalue : EXP :,\
2867
	EXP lvalue : EXP :,\
2868
	EXP : EXP :\
2869
    ) STATEMENT DESTROY_exp_reach_etc #
2870
#pragma interface DESTROY_exp_reach_etc
2871
 
2872
 
2873
/* Operations for field reach of union EXP */
2874
 
2875
#pragma token EXP const : unsigned : exp_reach_tag #
2876
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_reach #
2877
#pragma interface exp_reach_tag IS_exp_reach
2878
 
2879
#pragma token PROC ( EXP : EXP : )\
2880
    EXP : PTR ( EXP ) : exp_reach_parent #
2881
#pragma interface exp_reach_parent
2882
 
2883
#pragma token PROC ( EXP : EXP : )\
2884
    EXP : PTR ( EXP ) : exp_reach_body #
2885
#pragma interface exp_reach_body
2886
 
2887
#pragma token PROC (\
2888
	EXP : TYPE :,\
2889
	EXP : EXP :,\
2890
	EXP lvalue : EXP :\
2891
    ) STATEMENT MAKE_exp_reach #
2892
#pragma interface MAKE_exp_reach
2893
 
2894
#pragma token PROC (\
2895
	EXP lvalue : TYPE :,\
2896
	EXP lvalue : EXP :,\
2897
	EXP lvalue : EXP :,\
2898
	EXP : EXP :\
2899
    ) STATEMENT DECONS_exp_reach #
2900
#pragma interface DECONS_exp_reach
2901
 
2902
#pragma token PROC (\
2903
	EXP : DESTROYER :,\
2904
	EXP lvalue : TYPE :,\
2905
	EXP lvalue : EXP :,\
2906
	EXP lvalue : EXP :,\
2907
	EXP : EXP :\
2908
    ) STATEMENT DESTROY_exp_reach #
2909
#pragma interface DESTROY_exp_reach
2910
 
2911
 
2912
/* Operations for field unreach of union EXP */
2913
 
2914
#pragma token EXP const : unsigned : exp_unreach_tag #
2915
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_unreach #
2916
#pragma interface exp_unreach_tag IS_exp_unreach
2917
 
2918
#pragma token PROC ( EXP : EXP : )\
2919
    EXP : PTR ( EXP ) : exp_unreach_parent #
2920
#pragma interface exp_unreach_parent
2921
 
2922
#pragma token PROC ( EXP : EXP : )\
2923
    EXP : PTR ( EXP ) : exp_unreach_body #
2924
#pragma interface exp_unreach_body
2925
 
2926
#pragma token PROC (\
2927
	EXP : TYPE :,\
2928
	EXP : EXP :,\
2929
	EXP lvalue : EXP :\
2930
    ) STATEMENT MAKE_exp_unreach #
2931
#pragma interface MAKE_exp_unreach
2932
 
2933
#pragma token PROC (\
2934
	EXP lvalue : TYPE :,\
2935
	EXP lvalue : EXP :,\
2936
	EXP lvalue : EXP :,\
2937
	EXP : EXP :\
2938
    ) STATEMENT DECONS_exp_unreach #
2939
#pragma interface DECONS_exp_unreach
2940
 
2941
#pragma token PROC (\
2942
	EXP : DESTROYER :,\
2943
	EXP lvalue : TYPE :,\
2944
	EXP lvalue : EXP :,\
2945
	EXP lvalue : EXP :,\
2946
	EXP : EXP :\
2947
    ) STATEMENT DESTROY_exp_unreach #
2948
#pragma interface DESTROY_exp_unreach
2949
 
2950
 
2951
/* Operations for field sequence of union EXP */
2952
 
2953
#pragma token EXP const : unsigned : exp_sequence_tag #
2954
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_sequence #
2955
#pragma interface exp_sequence_tag IS_exp_sequence
2956
 
2957
#pragma token PROC ( EXP : EXP : )\
2958
    EXP : PTR ( EXP ) : exp_sequence_parent #
2959
#pragma interface exp_sequence_parent
2960
 
2961
#pragma token PROC ( EXP : EXP : )\
2962
    EXP : PTR ( LIST ( EXP ) ) : exp_sequence_first #
2963
#pragma interface exp_sequence_first
2964
 
2965
#pragma token PROC ( EXP : EXP : )\
2966
    EXP : PTR ( LIST ( EXP ) ) : exp_sequence_last #
2967
#pragma interface exp_sequence_last
2968
 
2969
#pragma token PROC ( EXP : EXP : )\
2970
    EXP : PTR ( NAMESPACE ) : exp_sequence_decl #
2971
#pragma interface exp_sequence_decl
2972
 
2973
#pragma token PROC ( EXP : EXP : )\
2974
    EXP : PTR ( int ) : exp_sequence_block #
2975
#pragma interface exp_sequence_block
2976
 
2977
#pragma token PROC (\
2978
	EXP : TYPE :,\
2979
	EXP : LIST ( EXP ) :,\
2980
	EXP : LIST ( EXP ) :,\
2981
	EXP : NAMESPACE :,\
2982
	EXP : int :,\
2983
	EXP lvalue : EXP :\
2984
    ) STATEMENT MAKE_exp_sequence #
2985
#pragma interface MAKE_exp_sequence
2986
 
2987
#pragma token PROC (\
2988
	EXP lvalue : TYPE :,\
2989
	EXP lvalue : EXP :,\
2990
	EXP lvalue : LIST ( EXP ) :,\
2991
	EXP lvalue : LIST ( EXP ) :,\
2992
	EXP lvalue : NAMESPACE :,\
2993
	EXP lvalue : int :,\
2994
	EXP : EXP :\
2995
    ) STATEMENT DECONS_exp_sequence #
2996
#pragma interface DECONS_exp_sequence
2997
 
2998
#pragma token PROC (\
2999
	EXP : DESTROYER :,\
3000
	EXP lvalue : TYPE :,\
3001
	EXP lvalue : EXP :,\
3002
	EXP lvalue : LIST ( EXP ) :,\
3003
	EXP lvalue : LIST ( EXP ) :,\
3004
	EXP lvalue : NAMESPACE :,\
3005
	EXP lvalue : int :,\
3006
	EXP : EXP :\
3007
    ) STATEMENT DESTROY_exp_sequence #
3008
#pragma interface DESTROY_exp_sequence
3009
 
3010
 
3011
/* Operations for field solve_stmt of union EXP */
3012
 
3013
#pragma token EXP const : unsigned : exp_solve_stmt_tag #
3014
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_solve_stmt #
3015
#pragma interface exp_solve_stmt_tag IS_exp_solve_stmt
3016
 
3017
#pragma token PROC ( EXP : EXP : )\
3018
    EXP : PTR ( EXP ) : exp_solve_stmt_parent #
3019
#pragma interface exp_solve_stmt_parent
3020
 
3021
#pragma token PROC ( EXP : EXP : )\
3022
    EXP : PTR ( EXP ) : exp_solve_stmt_body #
3023
#pragma interface exp_solve_stmt_body
3024
 
3025
#pragma token PROC ( EXP : EXP : )\
3026
    EXP : PTR ( LIST ( IDENTIFIER ) ) : exp_solve_stmt_labels #
3027
#pragma interface exp_solve_stmt_labels
3028
 
3029
#pragma token PROC ( EXP : EXP : )\
3030
    EXP : PTR ( LIST ( IDENTIFIER ) ) : exp_solve_stmt_vars #
3031
#pragma interface exp_solve_stmt_vars
3032
 
3033
#pragma token PROC (\
3034
	EXP : TYPE :,\
3035
	EXP : EXP :,\
3036
	EXP lvalue : EXP :\
3037
    ) STATEMENT MAKE_exp_solve_stmt #
3038
#pragma interface MAKE_exp_solve_stmt
3039
 
3040
#pragma token PROC (\
3041
	EXP lvalue : TYPE :,\
3042
	EXP lvalue : EXP :,\
3043
	EXP lvalue : EXP :,\
3044
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3045
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3046
	EXP : EXP :\
3047
    ) STATEMENT DECONS_exp_solve_stmt #
3048
#pragma interface DECONS_exp_solve_stmt
3049
 
3050
#pragma token PROC (\
3051
	EXP : DESTROYER :,\
3052
	EXP lvalue : TYPE :,\
3053
	EXP lvalue : EXP :,\
3054
	EXP lvalue : EXP :,\
3055
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3056
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3057
	EXP : EXP :\
3058
    ) STATEMENT DESTROY_exp_solve_stmt #
3059
#pragma interface DESTROY_exp_solve_stmt
3060
 
3061
 
3062
/* Operations for field decl_stmt of union EXP */
3063
 
3064
#pragma token EXP const : unsigned : exp_decl_stmt_tag #
3065
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_decl_stmt #
3066
#pragma interface exp_decl_stmt_tag IS_exp_decl_stmt
3067
 
3068
#pragma token PROC ( EXP : EXP : )\
3069
    EXP : PTR ( EXP ) : exp_decl_stmt_parent #
3070
#pragma interface exp_decl_stmt_parent
3071
 
3072
#pragma token PROC ( EXP : EXP : )\
3073
    EXP : PTR ( IDENTIFIER ) : exp_decl_stmt_id #
3074
#pragma interface exp_decl_stmt_id
3075
 
3076
#pragma token PROC ( EXP : EXP : )\
3077
    EXP : PTR ( EXP ) : exp_decl_stmt_body #
3078
#pragma interface exp_decl_stmt_body
3079
 
3080
#pragma token PROC (\
3081
	EXP : TYPE :,\
3082
	EXP : IDENTIFIER :,\
3083
	EXP : EXP :,\
3084
	EXP lvalue : EXP :\
3085
    ) STATEMENT MAKE_exp_decl_stmt #
3086
#pragma interface MAKE_exp_decl_stmt
3087
 
3088
#pragma token PROC (\
3089
	EXP lvalue : TYPE :,\
3090
	EXP lvalue : EXP :,\
3091
	EXP lvalue : IDENTIFIER :,\
3092
	EXP lvalue : EXP :,\
3093
	EXP : EXP :\
3094
    ) STATEMENT DECONS_exp_decl_stmt #
3095
#pragma interface DECONS_exp_decl_stmt
3096
 
3097
#pragma token PROC (\
3098
	EXP : DESTROYER :,\
3099
	EXP lvalue : TYPE :,\
3100
	EXP lvalue : EXP :,\
3101
	EXP lvalue : IDENTIFIER :,\
3102
	EXP lvalue : EXP :,\
3103
	EXP : EXP :\
3104
    ) STATEMENT DESTROY_exp_decl_stmt #
3105
#pragma interface DESTROY_exp_decl_stmt
3106
 
3107
 
3108
/* Operations for field if_stmt of union EXP */
3109
 
3110
#pragma token EXP const : unsigned : exp_if_stmt_tag #
3111
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_if_stmt #
3112
#pragma interface exp_if_stmt_tag IS_exp_if_stmt
3113
 
3114
#pragma token PROC ( EXP : EXP : )\
3115
    EXP : PTR ( EXP ) : exp_if_stmt_parent #
3116
#pragma interface exp_if_stmt_parent
3117
 
3118
#pragma token PROC ( EXP : EXP : )\
3119
    EXP : PTR ( EXP ) : exp_if_stmt_cond #
3120
#pragma interface exp_if_stmt_cond
3121
 
3122
#pragma token PROC ( EXP : EXP : )\
3123
    EXP : PTR ( EXP ) : exp_if_stmt_true_code #
3124
#pragma interface exp_if_stmt_true_code
3125
 
3126
#pragma token PROC ( EXP : EXP : )\
3127
    EXP : PTR ( EXP ) : exp_if_stmt_false_code #
3128
#pragma interface exp_if_stmt_false_code
3129
 
3130
#pragma token PROC ( EXP : EXP : )\
3131
    EXP : PTR ( IDENTIFIER ) : exp_if_stmt_label #
3132
#pragma interface exp_if_stmt_label
3133
 
3134
#pragma token PROC (\
3135
	EXP : TYPE :,\
3136
	EXP : EXP :,\
3137
	EXP : EXP :,\
3138
	EXP : EXP :,\
3139
	EXP : IDENTIFIER :,\
3140
	EXP lvalue : EXP :\
3141
    ) STATEMENT MAKE_exp_if_stmt #
3142
#pragma interface MAKE_exp_if_stmt
3143
 
3144
#pragma token PROC (\
3145
	EXP lvalue : TYPE :,\
3146
	EXP lvalue : EXP :,\
3147
	EXP lvalue : EXP :,\
3148
	EXP lvalue : EXP :,\
3149
	EXP lvalue : EXP :,\
3150
	EXP lvalue : IDENTIFIER :,\
3151
	EXP : EXP :\
3152
    ) STATEMENT DECONS_exp_if_stmt #
3153
#pragma interface DECONS_exp_if_stmt
3154
 
3155
#pragma token PROC (\
3156
	EXP : DESTROYER :,\
3157
	EXP lvalue : TYPE :,\
3158
	EXP lvalue : EXP :,\
3159
	EXP lvalue : EXP :,\
3160
	EXP lvalue : EXP :,\
3161
	EXP lvalue : EXP :,\
3162
	EXP lvalue : IDENTIFIER :,\
3163
	EXP : EXP :\
3164
    ) STATEMENT DESTROY_exp_if_stmt #
3165
#pragma interface DESTROY_exp_if_stmt
3166
 
3167
 
3168
/* Operations for field while_stmt of union EXP */
3169
 
3170
#pragma token EXP const : unsigned : exp_while_stmt_tag #
3171
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_while_stmt #
3172
#pragma interface exp_while_stmt_tag IS_exp_while_stmt
3173
 
3174
#pragma token PROC ( EXP : EXP : )\
3175
    EXP : PTR ( EXP ) : exp_while_stmt_parent #
3176
#pragma interface exp_while_stmt_parent
3177
 
3178
#pragma token PROC ( EXP : EXP : )\
3179
    EXP : PTR ( EXP ) : exp_while_stmt_cond #
3180
#pragma interface exp_while_stmt_cond
3181
 
3182
#pragma token PROC ( EXP : EXP : )\
3183
    EXP : PTR ( EXP ) : exp_while_stmt_body #
3184
#pragma interface exp_while_stmt_body
3185
 
3186
#pragma token PROC ( EXP : EXP : )\
3187
    EXP : PTR ( IDENTIFIER ) : exp_while_stmt_break_lab #
3188
#pragma interface exp_while_stmt_break_lab
3189
 
3190
#pragma token PROC ( EXP : EXP : )\
3191
    EXP : PTR ( IDENTIFIER ) : exp_while_stmt_cont_lab #
3192
#pragma interface exp_while_stmt_cont_lab
3193
 
3194
#pragma token PROC ( EXP : EXP : )\
3195
    EXP : PTR ( IDENTIFIER ) : exp_while_stmt_loop_lab #
3196
#pragma interface exp_while_stmt_loop_lab
3197
 
3198
#pragma token PROC ( EXP : EXP : )\
3199
    EXP : PTR ( LIST ( IDENTIFIER ) ) : exp_while_stmt_cond_id #
3200
#pragma interface exp_while_stmt_cond_id
3201
 
3202
#pragma token PROC (\
3203
	EXP : TYPE :,\
3204
	EXP : EXP :,\
3205
	EXP : IDENTIFIER :,\
3206
	EXP : IDENTIFIER :,\
3207
	EXP : IDENTIFIER :,\
3208
	EXP lvalue : EXP :\
3209
    ) STATEMENT MAKE_exp_while_stmt #
3210
#pragma interface MAKE_exp_while_stmt
3211
 
3212
#pragma token PROC (\
3213
	EXP lvalue : TYPE :,\
3214
	EXP lvalue : EXP :,\
3215
	EXP lvalue : EXP :,\
3216
	EXP lvalue : EXP :,\
3217
	EXP lvalue : IDENTIFIER :,\
3218
	EXP lvalue : IDENTIFIER :,\
3219
	EXP lvalue : IDENTIFIER :,\
3220
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3221
	EXP : EXP :\
3222
    ) STATEMENT DECONS_exp_while_stmt #
3223
#pragma interface DECONS_exp_while_stmt
3224
 
3225
#pragma token PROC (\
3226
	EXP : DESTROYER :,\
3227
	EXP lvalue : TYPE :,\
3228
	EXP lvalue : EXP :,\
3229
	EXP lvalue : EXP :,\
3230
	EXP lvalue : EXP :,\
3231
	EXP lvalue : IDENTIFIER :,\
3232
	EXP lvalue : IDENTIFIER :,\
3233
	EXP lvalue : IDENTIFIER :,\
3234
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3235
	EXP : EXP :\
3236
    ) STATEMENT DESTROY_exp_while_stmt #
3237
#pragma interface DESTROY_exp_while_stmt
3238
 
3239
 
3240
/* Operations for field do_stmt of union EXP */
3241
 
3242
#pragma token EXP const : unsigned : exp_do_stmt_tag #
3243
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_do_stmt #
3244
#pragma interface exp_do_stmt_tag IS_exp_do_stmt
3245
 
3246
#pragma token PROC ( EXP : EXP : )\
3247
    EXP : PTR ( EXP ) : exp_do_stmt_parent #
3248
#pragma interface exp_do_stmt_parent
3249
 
3250
#pragma token PROC ( EXP : EXP : )\
3251
    EXP : PTR ( EXP ) : exp_do_stmt_cond #
3252
#pragma interface exp_do_stmt_cond
3253
 
3254
#pragma token PROC ( EXP : EXP : )\
3255
    EXP : PTR ( EXP ) : exp_do_stmt_body #
3256
#pragma interface exp_do_stmt_body
3257
 
3258
#pragma token PROC ( EXP : EXP : )\
3259
    EXP : PTR ( IDENTIFIER ) : exp_do_stmt_break_lab #
3260
#pragma interface exp_do_stmt_break_lab
3261
 
3262
#pragma token PROC ( EXP : EXP : )\
3263
    EXP : PTR ( IDENTIFIER ) : exp_do_stmt_cont_lab #
3264
#pragma interface exp_do_stmt_cont_lab
3265
 
3266
#pragma token PROC ( EXP : EXP : )\
3267
    EXP : PTR ( IDENTIFIER ) : exp_do_stmt_loop_lab #
3268
#pragma interface exp_do_stmt_loop_lab
3269
 
3270
#pragma token PROC (\
3271
	EXP : TYPE :,\
3272
	EXP : EXP :,\
3273
	EXP : IDENTIFIER :,\
3274
	EXP : IDENTIFIER :,\
3275
	EXP : IDENTIFIER :,\
3276
	EXP lvalue : EXP :\
3277
    ) STATEMENT MAKE_exp_do_stmt #
3278
#pragma interface MAKE_exp_do_stmt
3279
 
3280
#pragma token PROC (\
3281
	EXP lvalue : TYPE :,\
3282
	EXP lvalue : EXP :,\
3283
	EXP lvalue : EXP :,\
3284
	EXP lvalue : EXP :,\
3285
	EXP lvalue : IDENTIFIER :,\
3286
	EXP lvalue : IDENTIFIER :,\
3287
	EXP lvalue : IDENTIFIER :,\
3288
	EXP : EXP :\
3289
    ) STATEMENT DECONS_exp_do_stmt #
3290
#pragma interface DECONS_exp_do_stmt
3291
 
3292
#pragma token PROC (\
3293
	EXP : DESTROYER :,\
3294
	EXP lvalue : TYPE :,\
3295
	EXP lvalue : EXP :,\
3296
	EXP lvalue : EXP :,\
3297
	EXP lvalue : EXP :,\
3298
	EXP lvalue : IDENTIFIER :,\
3299
	EXP lvalue : IDENTIFIER :,\
3300
	EXP lvalue : IDENTIFIER :,\
3301
	EXP : EXP :\
3302
    ) STATEMENT DESTROY_exp_do_stmt #
3303
#pragma interface DESTROY_exp_do_stmt
3304
 
3305
 
3306
/* Operations for field switch_stmt of union EXP */
3307
 
3308
#pragma token EXP const : unsigned : exp_switch_stmt_tag #
3309
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_switch_stmt #
3310
#pragma interface exp_switch_stmt_tag IS_exp_switch_stmt
3311
 
3312
#pragma token PROC ( EXP : EXP : )\
3313
    EXP : PTR ( EXP ) : exp_switch_stmt_parent #
3314
#pragma interface exp_switch_stmt_parent
3315
 
3316
#pragma token PROC ( EXP : EXP : )\
3317
    EXP : PTR ( EXP ) : exp_switch_stmt_control #
3318
#pragma interface exp_switch_stmt_control
3319
 
3320
#pragma token PROC ( EXP : EXP : )\
3321
    EXP : PTR ( EXP ) : exp_switch_stmt_body #
3322
#pragma interface exp_switch_stmt_body
3323
 
3324
#pragma token PROC ( EXP : EXP : )\
3325
    EXP : PTR ( LIST ( NAT ) ) : exp_switch_stmt_cases #
3326
#pragma interface exp_switch_stmt_cases
3327
 
3328
#pragma token PROC ( EXP : EXP : )\
3329
    EXP : PTR ( LIST ( IDENTIFIER ) ) : exp_switch_stmt_case_labs #
3330
#pragma interface exp_switch_stmt_case_labs
3331
 
3332
#pragma token PROC ( EXP : EXP : )\
3333
    EXP : PTR ( IDENTIFIER ) : exp_switch_stmt_default_lab #
3334
#pragma interface exp_switch_stmt_default_lab
3335
 
3336
#pragma token PROC ( EXP : EXP : )\
3337
    EXP : PTR ( int ) : exp_switch_stmt_exhaust #
3338
#pragma interface exp_switch_stmt_exhaust
3339
 
3340
#pragma token PROC ( EXP : EXP : )\
3341
    EXP : PTR ( IDENTIFIER ) : exp_switch_stmt_break_lab #
3342
#pragma interface exp_switch_stmt_break_lab
3343
 
3344
#pragma token PROC (\
3345
	EXP : TYPE :,\
3346
	EXP : EXP :,\
3347
	EXP : EXP :,\
3348
	EXP : int :,\
3349
	EXP : IDENTIFIER :,\
3350
	EXP lvalue : EXP :\
3351
    ) STATEMENT MAKE_exp_switch_stmt #
3352
#pragma interface MAKE_exp_switch_stmt
3353
 
3354
#pragma token PROC (\
3355
	EXP lvalue : TYPE :,\
3356
	EXP lvalue : EXP :,\
3357
	EXP lvalue : EXP :,\
3358
	EXP lvalue : EXP :,\
3359
	EXP lvalue : LIST ( NAT ) :,\
3360
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3361
	EXP lvalue : IDENTIFIER :,\
3362
	EXP lvalue : int :,\
3363
	EXP lvalue : IDENTIFIER :,\
3364
	EXP : EXP :\
3365
    ) STATEMENT DECONS_exp_switch_stmt #
3366
#pragma interface DECONS_exp_switch_stmt
3367
 
3368
#pragma token PROC (\
3369
	EXP : DESTROYER :,\
3370
	EXP lvalue : TYPE :,\
3371
	EXP lvalue : EXP :,\
3372
	EXP lvalue : EXP :,\
3373
	EXP lvalue : EXP :,\
3374
	EXP lvalue : LIST ( NAT ) :,\
3375
	EXP lvalue : LIST ( IDENTIFIER ) :,\
3376
	EXP lvalue : IDENTIFIER :,\
3377
	EXP lvalue : int :,\
3378
	EXP lvalue : IDENTIFIER :,\
3379
	EXP : EXP :\
3380
    ) STATEMENT DESTROY_exp_switch_stmt #
3381
#pragma interface DESTROY_exp_switch_stmt
3382
 
3383
 
3384
/* Operations for field hash_if of union EXP */
3385
 
3386
#pragma token EXP const : unsigned : exp_hash_if_tag #
3387
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_hash_if #
3388
#pragma interface exp_hash_if_tag IS_exp_hash_if
3389
 
3390
#pragma token PROC ( EXP : EXP : )\
3391
    EXP : PTR ( EXP ) : exp_hash_if_parent #
3392
#pragma interface exp_hash_if_parent
3393
 
3394
#pragma token PROC ( EXP : EXP : )\
3395
    EXP : PTR ( EXP ) : exp_hash_if_cond #
3396
#pragma interface exp_hash_if_cond
3397
 
3398
#pragma token PROC ( EXP : EXP : )\
3399
    EXP : PTR ( EXP ) : exp_hash_if_true_code #
3400
#pragma interface exp_hash_if_true_code
3401
 
3402
#pragma token PROC ( EXP : EXP : )\
3403
    EXP : PTR ( EXP ) : exp_hash_if_false_code #
3404
#pragma interface exp_hash_if_false_code
3405
 
3406
#pragma token PROC ( EXP : EXP : )\
3407
    EXP : PTR ( EXP ) : exp_hash_if_last #
3408
#pragma interface exp_hash_if_last
3409
 
3410
#pragma token PROC (\
3411
	EXP : TYPE :,\
3412
	EXP : EXP :,\
3413
	EXP : EXP :,\
3414
	EXP : EXP :,\
3415
	EXP lvalue : EXP :\
3416
    ) STATEMENT MAKE_exp_hash_if #
3417
#pragma interface MAKE_exp_hash_if
3418
 
3419
#pragma token PROC (\
3420
	EXP lvalue : TYPE :,\
3421
	EXP lvalue : EXP :,\
3422
	EXP lvalue : EXP :,\
3423
	EXP lvalue : EXP :,\
3424
	EXP lvalue : EXP :,\
3425
	EXP lvalue : EXP :,\
3426
	EXP : EXP :\
3427
    ) STATEMENT DECONS_exp_hash_if #
3428
#pragma interface DECONS_exp_hash_if
3429
 
3430
#pragma token PROC (\
3431
	EXP : DESTROYER :,\
3432
	EXP lvalue : TYPE :,\
3433
	EXP lvalue : EXP :,\
3434
	EXP lvalue : EXP :,\
3435
	EXP lvalue : EXP :,\
3436
	EXP lvalue : EXP :,\
3437
	EXP lvalue : EXP :,\
3438
	EXP : EXP :\
3439
    ) STATEMENT DESTROY_exp_hash_if #
3440
#pragma interface DESTROY_exp_hash_if
3441
 
3442
 
3443
/* Operations for field return_stmt of union EXP */
3444
 
3445
#pragma token EXP const : unsigned : exp_return_stmt_tag #
3446
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_return_stmt #
3447
#pragma interface exp_return_stmt_tag IS_exp_return_stmt
3448
 
3449
#pragma token PROC ( EXP : EXP : )\
3450
    EXP : PTR ( EXP ) : exp_return_stmt_parent #
3451
#pragma interface exp_return_stmt_parent
3452
 
3453
#pragma token PROC ( EXP : EXP : )\
3454
    EXP : PTR ( EXP ) : exp_return_stmt_value #
3455
#pragma interface exp_return_stmt_value
3456
 
3457
#pragma token PROC (\
3458
	EXP : TYPE :,\
3459
	EXP : EXP :,\
3460
	EXP lvalue : EXP :\
3461
    ) STATEMENT MAKE_exp_return_stmt #
3462
#pragma interface MAKE_exp_return_stmt
3463
 
3464
#pragma token PROC (\
3465
	EXP lvalue : TYPE :,\
3466
	EXP lvalue : EXP :,\
3467
	EXP lvalue : EXP :,\
3468
	EXP : EXP :\
3469
    ) STATEMENT DECONS_exp_return_stmt #
3470
#pragma interface DECONS_exp_return_stmt
3471
 
3472
#pragma token PROC (\
3473
	EXP : DESTROYER :,\
3474
	EXP lvalue : TYPE :,\
3475
	EXP lvalue : EXP :,\
3476
	EXP lvalue : EXP :,\
3477
	EXP : EXP :\
3478
    ) STATEMENT DESTROY_exp_return_stmt #
3479
#pragma interface DESTROY_exp_return_stmt
3480
 
3481
 
3482
/* Operations for field goto_stmt of union EXP */
3483
 
3484
#pragma token EXP const : unsigned : exp_goto_stmt_tag #
3485
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_goto_stmt #
3486
#pragma interface exp_goto_stmt_tag IS_exp_goto_stmt
3487
 
3488
#pragma token PROC ( EXP : EXP : )\
3489
    EXP : PTR ( EXP ) : exp_goto_stmt_parent #
3490
#pragma interface exp_goto_stmt_parent
3491
 
3492
#pragma token PROC ( EXP : EXP : )\
3493
    EXP : PTR ( IDENTIFIER ) : exp_goto_stmt_label #
3494
#pragma interface exp_goto_stmt_label
3495
 
3496
#pragma token PROC ( EXP : EXP : )\
3497
    EXP : PTR ( EXP ) : exp_goto_stmt_join #
3498
#pragma interface exp_goto_stmt_join
3499
 
3500
#pragma token PROC ( EXP : EXP : )\
3501
    EXP : PTR ( EXP ) : exp_goto_stmt_next #
3502
#pragma interface exp_goto_stmt_next
3503
 
3504
#pragma token PROC (\
3505
	EXP : TYPE :,\
3506
	EXP : IDENTIFIER :,\
3507
	EXP : EXP :,\
3508
	EXP : EXP :,\
3509
	EXP lvalue : EXP :\
3510
    ) STATEMENT MAKE_exp_goto_stmt #
3511
#pragma interface MAKE_exp_goto_stmt
3512
 
3513
#pragma token PROC (\
3514
	EXP lvalue : TYPE :,\
3515
	EXP lvalue : EXP :,\
3516
	EXP lvalue : IDENTIFIER :,\
3517
	EXP lvalue : EXP :,\
3518
	EXP lvalue : EXP :,\
3519
	EXP : EXP :\
3520
    ) STATEMENT DECONS_exp_goto_stmt #
3521
#pragma interface DECONS_exp_goto_stmt
3522
 
3523
#pragma token PROC (\
3524
	EXP : DESTROYER :,\
3525
	EXP lvalue : TYPE :,\
3526
	EXP lvalue : EXP :,\
3527
	EXP lvalue : IDENTIFIER :,\
3528
	EXP lvalue : EXP :,\
3529
	EXP lvalue : EXP :,\
3530
	EXP : EXP :\
3531
    ) STATEMENT DESTROY_exp_goto_stmt #
3532
#pragma interface DESTROY_exp_goto_stmt
3533
 
3534
 
3535
/* Operations for field label_stmt of union EXP */
3536
 
3537
#pragma token EXP const : unsigned : exp_label_stmt_tag #
3538
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_label_stmt #
3539
#pragma interface exp_label_stmt_tag IS_exp_label_stmt
3540
 
3541
#pragma token PROC ( EXP : EXP : )\
3542
    EXP : PTR ( EXP ) : exp_label_stmt_parent #
3543
#pragma interface exp_label_stmt_parent
3544
 
3545
#pragma token PROC ( EXP : EXP : )\
3546
    EXP : PTR ( IDENTIFIER ) : exp_label_stmt_label #
3547
#pragma interface exp_label_stmt_label
3548
 
3549
#pragma token PROC ( EXP : EXP : )\
3550
    EXP : PTR ( EXP ) : exp_label_stmt_body #
3551
#pragma interface exp_label_stmt_body
3552
 
3553
#pragma token PROC ( EXP : EXP : )\
3554
    EXP : PTR ( IDENTIFIER ) : exp_label_stmt_next #
3555
#pragma interface exp_label_stmt_next
3556
 
3557
#pragma token PROC (\
3558
	EXP : TYPE :,\
3559
	EXP : IDENTIFIER :,\
3560
	EXP : EXP :,\
3561
	EXP lvalue : EXP :\
3562
    ) STATEMENT MAKE_exp_label_stmt #
3563
#pragma interface MAKE_exp_label_stmt
3564
 
3565
#pragma token PROC (\
3566
	EXP lvalue : TYPE :,\
3567
	EXP lvalue : EXP :,\
3568
	EXP lvalue : IDENTIFIER :,\
3569
	EXP lvalue : EXP :,\
3570
	EXP lvalue : IDENTIFIER :,\
3571
	EXP : EXP :\
3572
    ) STATEMENT DECONS_exp_label_stmt #
3573
#pragma interface DECONS_exp_label_stmt
3574
 
3575
#pragma token PROC (\
3576
	EXP : DESTROYER :,\
3577
	EXP lvalue : TYPE :,\
3578
	EXP lvalue : EXP :,\
3579
	EXP lvalue : IDENTIFIER :,\
3580
	EXP lvalue : EXP :,\
3581
	EXP lvalue : IDENTIFIER :,\
3582
	EXP : EXP :\
3583
    ) STATEMENT DESTROY_exp_label_stmt #
3584
#pragma interface DESTROY_exp_label_stmt
3585
 
3586
 
3587
/* Operations for field try_block of union EXP */
3588
 
3589
#pragma token EXP const : unsigned : exp_try_block_tag #
3590
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_try_block #
3591
#pragma interface exp_try_block_tag IS_exp_try_block
3592
 
3593
#pragma token PROC ( EXP : EXP : )\
3594
    EXP : PTR ( EXP ) : exp_try_block_parent #
3595
#pragma interface exp_try_block_parent
3596
 
3597
#pragma token PROC ( EXP : EXP : )\
3598
    EXP : PTR ( EXP ) : exp_try_block_body #
3599
#pragma interface exp_try_block_body
3600
 
3601
#pragma token PROC ( EXP : EXP : )\
3602
    EXP : PTR ( int ) : exp_try_block_func #
3603
#pragma interface exp_try_block_func
3604
 
3605
#pragma token PROC ( EXP : EXP : )\
3606
    EXP : PTR ( LIST ( EXP ) ) : exp_try_block_handlers #
3607
#pragma interface exp_try_block_handlers
3608
 
3609
#pragma token PROC ( EXP : EXP : )\
3610
    EXP : PTR ( LIST ( TYPE ) ) : exp_try_block_htypes #
3611
#pragma interface exp_try_block_htypes
3612
 
3613
#pragma token PROC ( EXP : EXP : )\
3614
    EXP : PTR ( EXP ) : exp_try_block_ellipsis #
3615
#pragma interface exp_try_block_ellipsis
3616
 
3617
#pragma token PROC ( EXP : EXP : )\
3618
    EXP : PTR ( LIST ( TYPE ) ) : exp_try_block_ttypes #
3619
#pragma interface exp_try_block_ttypes
3620
 
3621
#pragma token PROC ( EXP : EXP : )\
3622
    EXP : PTR ( LIST ( LOCATION ) ) : exp_try_block_tlocs #
3623
#pragma interface exp_try_block_tlocs
3624
 
3625
#pragma token PROC ( EXP : EXP : )\
3626
    EXP : PTR ( ulong_type ) : exp_try_block_no #
3627
#pragma interface exp_try_block_no
3628
 
3629
#pragma token PROC (\
3630
	EXP : TYPE :,\
3631
	EXP : EXP :,\
3632
	EXP : int :,\
3633
	EXP lvalue : EXP :\
3634
    ) STATEMENT MAKE_exp_try_block #
3635
#pragma interface MAKE_exp_try_block
3636
 
3637
#pragma token PROC (\
3638
	EXP lvalue : TYPE :,\
3639
	EXP lvalue : EXP :,\
3640
	EXP lvalue : EXP :,\
3641
	EXP lvalue : int :,\
3642
	EXP lvalue : LIST ( EXP ) :,\
3643
	EXP lvalue : LIST ( TYPE ) :,\
3644
	EXP lvalue : EXP :,\
3645
	EXP lvalue : LIST ( TYPE ) :,\
3646
	EXP lvalue : LIST ( LOCATION ) :,\
3647
	EXP lvalue : ulong_type :,\
3648
	EXP : EXP :\
3649
    ) STATEMENT DECONS_exp_try_block #
3650
#pragma interface DECONS_exp_try_block
3651
 
3652
#pragma token PROC (\
3653
	EXP : DESTROYER :,\
3654
	EXP lvalue : TYPE :,\
3655
	EXP lvalue : EXP :,\
3656
	EXP lvalue : EXP :,\
3657
	EXP lvalue : int :,\
3658
	EXP lvalue : LIST ( EXP ) :,\
3659
	EXP lvalue : LIST ( TYPE ) :,\
3660
	EXP lvalue : EXP :,\
3661
	EXP lvalue : LIST ( TYPE ) :,\
3662
	EXP lvalue : LIST ( LOCATION ) :,\
3663
	EXP lvalue : ulong_type :,\
3664
	EXP : EXP :\
3665
    ) STATEMENT DESTROY_exp_try_block #
3666
#pragma interface DESTROY_exp_try_block
3667
 
3668
 
3669
/* Operations for field handler of union EXP */
3670
 
3671
#pragma token EXP const : unsigned : exp_handler_tag #
3672
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_handler #
3673
#pragma interface exp_handler_tag IS_exp_handler
3674
 
3675
#pragma token PROC ( EXP : EXP : )\
3676
    EXP : PTR ( EXP ) : exp_handler_parent #
3677
#pragma interface exp_handler_parent
3678
 
3679
#pragma token PROC ( EXP : EXP : )\
3680
    EXP : PTR ( IDENTIFIER ) : exp_handler_except #
3681
#pragma interface exp_handler_except
3682
 
3683
#pragma token PROC ( EXP : EXP : )\
3684
    EXP : PTR ( EXP ) : exp_handler_body #
3685
#pragma interface exp_handler_body
3686
 
3687
#pragma token PROC ( EXP : EXP : )\
3688
    EXP : PTR ( ulong_type ) : exp_handler_diag #
3689
#pragma interface exp_handler_diag
3690
 
3691
#pragma token PROC (\
3692
	EXP : TYPE :,\
3693
	EXP : IDENTIFIER :,\
3694
	EXP : EXP :,\
3695
	EXP lvalue : EXP :\
3696
    ) STATEMENT MAKE_exp_handler #
3697
#pragma interface MAKE_exp_handler
3698
 
3699
#pragma token PROC (\
3700
	EXP lvalue : TYPE :,\
3701
	EXP lvalue : EXP :,\
3702
	EXP lvalue : IDENTIFIER :,\
3703
	EXP lvalue : EXP :,\
3704
	EXP lvalue : ulong_type :,\
3705
	EXP : EXP :\
3706
    ) STATEMENT DECONS_exp_handler #
3707
#pragma interface DECONS_exp_handler
3708
 
3709
#pragma token PROC (\
3710
	EXP : DESTROYER :,\
3711
	EXP lvalue : TYPE :,\
3712
	EXP lvalue : EXP :,\
3713
	EXP lvalue : IDENTIFIER :,\
3714
	EXP lvalue : EXP :,\
3715
	EXP lvalue : ulong_type :,\
3716
	EXP : EXP :\
3717
    ) STATEMENT DESTROY_exp_handler #
3718
#pragma interface DESTROY_exp_handler
3719
 
3720
 
3721
/* Operations for field exception of union EXP */
3722
 
3723
#pragma token EXP const : unsigned : exp_exception_tag #
3724
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_exception #
3725
#pragma interface exp_exception_tag IS_exp_exception
3726
 
3727
#pragma token PROC ( EXP : EXP : )\
3728
    EXP : PTR ( EXP ) : exp_exception_arg #
3729
#pragma interface exp_exception_arg
3730
 
3731
#pragma token PROC ( EXP : EXP : )\
3732
    EXP : PTR ( EXP ) : exp_exception_size #
3733
#pragma interface exp_exception_size
3734
 
3735
#pragma token PROC ( EXP : EXP : )\
3736
    EXP : PTR ( EXP ) : exp_exception_destr #
3737
#pragma interface exp_exception_destr
3738
 
3739
#pragma token PROC ( EXP : EXP : )\
3740
    EXP : PTR ( int ) : exp_exception_expl #
3741
#pragma interface exp_exception_expl
3742
 
3743
#pragma token PROC (\
3744
	EXP : TYPE :,\
3745
	EXP : EXP :,\
3746
	EXP : EXP :,\
3747
	EXP : EXP :,\
3748
	EXP : int :,\
3749
	EXP lvalue : EXP :\
3750
    ) STATEMENT MAKE_exp_exception #
3751
#pragma interface MAKE_exp_exception
3752
 
3753
#pragma token PROC (\
3754
	EXP lvalue : TYPE :,\
3755
	EXP lvalue : EXP :,\
3756
	EXP lvalue : EXP :,\
3757
	EXP lvalue : EXP :,\
3758
	EXP lvalue : int :,\
3759
	EXP : EXP :\
3760
    ) STATEMENT DECONS_exp_exception #
3761
#pragma interface DECONS_exp_exception
3762
 
3763
#pragma token PROC (\
3764
	EXP : DESTROYER :,\
3765
	EXP lvalue : TYPE :,\
3766
	EXP lvalue : EXP :,\
3767
	EXP lvalue : EXP :,\
3768
	EXP lvalue : EXP :,\
3769
	EXP lvalue : int :,\
3770
	EXP : EXP :\
3771
    ) STATEMENT DESTROY_exp_exception #
3772
#pragma interface DESTROY_exp_exception
3773
 
3774
 
3775
/* Operations for field thrown of union EXP */
3776
 
3777
#pragma token EXP const : unsigned : exp_thrown_tag #
3778
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_thrown #
3779
#pragma interface exp_thrown_tag IS_exp_thrown
3780
 
3781
#pragma token PROC ( EXP : EXP : )\
3782
    EXP : PTR ( int ) : exp_thrown_done #
3783
#pragma interface exp_thrown_done
3784
 
3785
#pragma token PROC (\
3786
	EXP : TYPE :,\
3787
	EXP : int :,\
3788
	EXP lvalue : EXP :\
3789
    ) STATEMENT MAKE_exp_thrown #
3790
#pragma interface MAKE_exp_thrown
3791
 
3792
#pragma token PROC (\
3793
	EXP lvalue : TYPE :,\
3794
	EXP lvalue : int :,\
3795
	EXP : EXP :\
3796
    ) STATEMENT DECONS_exp_thrown #
3797
#pragma interface DECONS_exp_thrown
3798
 
3799
#pragma token PROC (\
3800
	EXP : DESTROYER :,\
3801
	EXP lvalue : TYPE :,\
3802
	EXP lvalue : int :,\
3803
	EXP : EXP :\
3804
    ) STATEMENT DESTROY_exp_thrown #
3805
#pragma interface DESTROY_exp_thrown
3806
 
3807
 
3808
/* Operations for field op of union EXP */
3809
 
3810
#pragma token EXP const : unsigned : exp_op_tag #
3811
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_op #
3812
#pragma interface exp_op_tag IS_exp_op
3813
 
3814
#pragma token PROC ( EXP : EXP : )\
3815
    EXP : PTR ( int ) : exp_op_lex #
3816
#pragma interface exp_op_lex
3817
 
3818
#pragma token PROC ( EXP : EXP : )\
3819
    EXP : PTR ( EXP ) : exp_op_arg1 #
3820
#pragma interface exp_op_arg1
3821
 
3822
#pragma token PROC ( EXP : EXP : )\
3823
    EXP : PTR ( EXP ) : exp_op_arg2 #
3824
#pragma interface exp_op_arg2
3825
 
3826
#pragma token PROC (\
3827
	EXP : TYPE :,\
3828
	EXP : int :,\
3829
	EXP : EXP :,\
3830
	EXP : EXP :,\
3831
	EXP lvalue : EXP :\
3832
    ) STATEMENT MAKE_exp_op #
3833
#pragma interface MAKE_exp_op
3834
 
3835
#pragma token PROC (\
3836
	EXP lvalue : TYPE :,\
3837
	EXP lvalue : int :,\
3838
	EXP lvalue : EXP :,\
3839
	EXP lvalue : EXP :,\
3840
	EXP : EXP :\
3841
    ) STATEMENT DECONS_exp_op #
3842
#pragma interface DECONS_exp_op
3843
 
3844
#pragma token PROC (\
3845
	EXP : DESTROYER :,\
3846
	EXP lvalue : TYPE :,\
3847
	EXP lvalue : int :,\
3848
	EXP lvalue : EXP :,\
3849
	EXP lvalue : EXP :,\
3850
	EXP : EXP :\
3851
    ) STATEMENT DESTROY_exp_op #
3852
#pragma interface DESTROY_exp_op
3853
 
3854
 
3855
/* Operations for field opn of union EXP */
3856
 
3857
#pragma token EXP const : unsigned : exp_opn_tag #
3858
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_opn #
3859
#pragma interface exp_opn_tag IS_exp_opn
3860
 
3861
#pragma token PROC ( EXP : EXP : )\
3862
    EXP : PTR ( int ) : exp_opn_lex #
3863
#pragma interface exp_opn_lex
3864
 
3865
#pragma token PROC ( EXP : EXP : )\
3866
    EXP : PTR ( LIST ( EXP ) ) : exp_opn_args #
3867
#pragma interface exp_opn_args
3868
 
3869
#pragma token PROC (\
3870
	EXP : TYPE :,\
3871
	EXP : int :,\
3872
	EXP : LIST ( EXP ) :,\
3873
	EXP lvalue : EXP :\
3874
    ) STATEMENT MAKE_exp_opn #
3875
#pragma interface MAKE_exp_opn
3876
 
3877
#pragma token PROC (\
3878
	EXP lvalue : TYPE :,\
3879
	EXP lvalue : int :,\
3880
	EXP lvalue : LIST ( EXP ) :,\
3881
	EXP : EXP :\
3882
    ) STATEMENT DECONS_exp_opn #
3883
#pragma interface DECONS_exp_opn
3884
 
3885
#pragma token PROC (\
3886
	EXP : DESTROYER :,\
3887
	EXP lvalue : TYPE :,\
3888
	EXP lvalue : int :,\
3889
	EXP lvalue : LIST ( EXP ) :,\
3890
	EXP : EXP :\
3891
    ) STATEMENT DESTROY_exp_opn #
3892
#pragma interface DESTROY_exp_opn
3893
 
3894
 
3895
/* Operations for field assembler of union EXP */
3896
 
3897
#pragma token EXP const : unsigned : exp_assembler_tag #
3898
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_assembler #
3899
#pragma interface exp_assembler_tag IS_exp_assembler
3900
 
3901
#pragma token PROC ( EXP : EXP : )\
3902
    EXP : PTR ( STRING ) : exp_assembler_op #
3903
#pragma interface exp_assembler_op
3904
 
3905
#pragma token PROC ( EXP : EXP : )\
3906
    EXP : PTR ( LIST ( EXP ) ) : exp_assembler_args #
3907
#pragma interface exp_assembler_args
3908
 
3909
#pragma token PROC (\
3910
	EXP : TYPE :,\
3911
	EXP : STRING :,\
3912
	EXP : LIST ( EXP ) :,\
3913
	EXP lvalue : EXP :\
3914
    ) STATEMENT MAKE_exp_assembler #
3915
#pragma interface MAKE_exp_assembler
3916
 
3917
#pragma token PROC (\
3918
	EXP lvalue : TYPE :,\
3919
	EXP lvalue : STRING :,\
3920
	EXP lvalue : LIST ( EXP ) :,\
3921
	EXP : EXP :\
3922
    ) STATEMENT DECONS_exp_assembler #
3923
#pragma interface DECONS_exp_assembler
3924
 
3925
#pragma token PROC (\
3926
	EXP : DESTROYER :,\
3927
	EXP lvalue : TYPE :,\
3928
	EXP lvalue : STRING :,\
3929
	EXP lvalue : LIST ( EXP ) :,\
3930
	EXP : EXP :\
3931
    ) STATEMENT DESTROY_exp_assembler #
3932
#pragma interface DESTROY_exp_assembler
3933
 
3934
 
3935
/* Operations for field uncompiled of union EXP */
3936
 
3937
#pragma token EXP const : unsigned : exp_uncompiled_tag #
3938
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_uncompiled #
3939
#pragma interface exp_uncompiled_tag IS_exp_uncompiled
3940
 
3941
#pragma token PROC ( EXP : EXP : )\
3942
    EXP : PTR ( LOCATION ) : exp_uncompiled_start #
3943
#pragma interface exp_uncompiled_start
3944
 
3945
#pragma token PROC ( EXP : EXP : )\
3946
    EXP : PTR ( PPTOKEN_P ) : exp_uncompiled_defn #
3947
#pragma interface exp_uncompiled_defn
3948
 
3949
#pragma token PROC (\
3950
	EXP : TYPE :,\
3951
	EXP : LOCATION :,\
3952
	EXP : PPTOKEN_P :,\
3953
	EXP lvalue : EXP :\
3954
    ) STATEMENT MAKE_exp_uncompiled #
3955
#pragma interface MAKE_exp_uncompiled
3956
 
3957
#pragma token PROC (\
3958
	EXP lvalue : TYPE :,\
3959
	EXP lvalue : LOCATION :,\
3960
	EXP lvalue : PPTOKEN_P :,\
3961
	EXP : EXP :\
3962
    ) STATEMENT DECONS_exp_uncompiled #
3963
#pragma interface DECONS_exp_uncompiled
3964
 
3965
#pragma token PROC (\
3966
	EXP : DESTROYER :,\
3967
	EXP lvalue : TYPE :,\
3968
	EXP lvalue : LOCATION :,\
3969
	EXP lvalue : PPTOKEN_P :,\
3970
	EXP : EXP :\
3971
    ) STATEMENT DESTROY_exp_uncompiled #
3972
#pragma interface DESTROY_exp_uncompiled
3973
 
3974
 
3975
/* Operations for field location of union EXP */
3976
 
3977
#pragma token EXP const : unsigned : exp_location_tag #
3978
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_location #
3979
#pragma interface exp_location_tag IS_exp_location
3980
 
3981
#pragma token PROC ( EXP : EXP : )\
3982
    EXP : PTR ( LOCATION ) : exp_location_end #
3983
#pragma interface exp_location_end
3984
 
3985
#pragma token PROC ( EXP : EXP : )\
3986
    EXP : PTR ( EXP ) : exp_location_arg #
3987
#pragma interface exp_location_arg
3988
 
3989
#pragma token PROC (\
3990
	EXP : TYPE :,\
3991
	EXP : LOCATION :,\
3992
	EXP : EXP :,\
3993
	EXP lvalue : EXP :\
3994
    ) STATEMENT MAKE_exp_location #
3995
#pragma interface MAKE_exp_location
3996
 
3997
#pragma token PROC (\
3998
	EXP lvalue : TYPE :,\
3999
	EXP lvalue : LOCATION :,\
4000
	EXP lvalue : EXP :,\
4001
	EXP : EXP :\
4002
    ) STATEMENT DECONS_exp_location #
4003
#pragma interface DECONS_exp_location
4004
 
4005
#pragma token PROC (\
4006
	EXP : DESTROYER :,\
4007
	EXP lvalue : TYPE :,\
4008
	EXP lvalue : LOCATION :,\
4009
	EXP lvalue : EXP :,\
4010
	EXP : EXP :\
4011
    ) STATEMENT DESTROY_exp_location #
4012
#pragma interface DESTROY_exp_location
4013
 
4014
 
4015
/* Operations for field fail of union EXP */
4016
 
4017
#pragma token EXP const : unsigned : exp_fail_tag #
4018
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_fail #
4019
#pragma interface exp_fail_tag IS_exp_fail
4020
 
4021
#pragma token PROC ( EXP : EXP : )\
4022
    EXP : PTR ( string ) : exp_fail_msg #
4023
#pragma interface exp_fail_msg
4024
 
4025
#pragma token PROC (\
4026
	EXP : TYPE :,\
4027
	EXP : string :,\
4028
	EXP lvalue : EXP :\
4029
    ) STATEMENT MAKE_exp_fail #
4030
#pragma interface MAKE_exp_fail
4031
 
4032
#pragma token PROC (\
4033
	EXP lvalue : TYPE :,\
4034
	EXP lvalue : string :,\
4035
	EXP : EXP :\
4036
    ) STATEMENT DECONS_exp_fail #
4037
#pragma interface DECONS_exp_fail
4038
 
4039
#pragma token PROC (\
4040
	EXP : DESTROYER :,\
4041
	EXP lvalue : TYPE :,\
4042
	EXP lvalue : string :,\
4043
	EXP : EXP :\
4044
    ) STATEMENT DESTROY_exp_fail #
4045
#pragma interface DESTROY_exp_fail
4046
 
4047
 
4048
/* Operations for field token of union EXP */
4049
 
4050
#pragma token EXP const : unsigned : exp_token_tag #
4051
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_token #
4052
#pragma interface exp_token_tag IS_exp_token
4053
 
4054
#pragma token PROC ( EXP : EXP : )\
4055
    EXP : PTR ( EXP ) : exp_token_parent #
4056
#pragma interface exp_token_parent
4057
 
4058
#pragma token PROC ( EXP : EXP : )\
4059
    EXP : PTR ( IDENTIFIER ) : exp_token_tok #
4060
#pragma interface exp_token_tok
4061
 
4062
#pragma token PROC ( EXP : EXP : )\
4063
    EXP : PTR ( LIST ( TOKEN ) ) : exp_token_args #
4064
#pragma interface exp_token_args
4065
 
4066
#pragma token PROC (\
4067
	EXP : TYPE :,\
4068
	EXP : IDENTIFIER :,\
4069
	EXP : LIST ( TOKEN ) :,\
4070
	EXP lvalue : EXP :\
4071
    ) STATEMENT MAKE_exp_token #
4072
#pragma interface MAKE_exp_token
4073
 
4074
#pragma token PROC (\
4075
	EXP lvalue : TYPE :,\
4076
	EXP lvalue : EXP :,\
4077
	EXP lvalue : IDENTIFIER :,\
4078
	EXP lvalue : LIST ( TOKEN ) :,\
4079
	EXP : EXP :\
4080
    ) STATEMENT DECONS_exp_token #
4081
#pragma interface DECONS_exp_token
4082
 
4083
#pragma token PROC (\
4084
	EXP : DESTROYER :,\
4085
	EXP lvalue : TYPE :,\
4086
	EXP lvalue : EXP :,\
4087
	EXP lvalue : IDENTIFIER :,\
4088
	EXP lvalue : LIST ( TOKEN ) :,\
4089
	EXP : EXP :\
4090
    ) STATEMENT DESTROY_exp_token #
4091
#pragma interface DESTROY_exp_token
4092
 
4093
 
4094
/* Operations for field dummy of union EXP */
4095
 
4096
#pragma token EXP const : unsigned : exp_dummy_tag #
4097
#pragma token PROC ( EXP : EXP : ) EXP : int : IS_exp_dummy #
4098
#pragma interface exp_dummy_tag IS_exp_dummy
4099
 
4100
#pragma token PROC ( EXP : EXP : )\
4101
    EXP : PTR ( EXP ) : exp_dummy_value #
4102
#pragma interface exp_dummy_value
4103
 
4104
#pragma token PROC ( EXP : EXP : )\
4105
    EXP : PTR ( ulong_type ) : exp_dummy_no #
4106
#pragma interface exp_dummy_no
4107
 
4108
#pragma token PROC ( EXP : EXP : )\
4109
    EXP : PTR ( OFFSET ) : exp_dummy_off #
4110
#pragma interface exp_dummy_off
4111
 
4112
#pragma token PROC ( EXP : EXP : )\
4113
    EXP : PTR ( int ) : exp_dummy_virt #
4114
#pragma interface exp_dummy_virt
4115
 
4116
#pragma token PROC ( EXP : EXP : )\
4117
    EXP : PTR ( int ) : exp_dummy_cont #
4118
#pragma interface exp_dummy_cont
4119
 
4120
#pragma token PROC (\
4121
	EXP : TYPE :,\
4122
	EXP : EXP :,\
4123
	EXP : ulong_type :,\
4124
	EXP : OFFSET :,\
4125
	EXP : int :,\
4126
	EXP lvalue : EXP :\
4127
    ) STATEMENT MAKE_exp_dummy #
4128
#pragma interface MAKE_exp_dummy
4129
 
4130
#pragma token PROC (\
4131
	EXP lvalue : TYPE :,\
4132
	EXP lvalue : EXP :,\
4133
	EXP lvalue : ulong_type :,\
4134
	EXP lvalue : OFFSET :,\
4135
	EXP lvalue : int :,\
4136
	EXP lvalue : int :,\
4137
	EXP : EXP :\
4138
    ) STATEMENT DECONS_exp_dummy #
4139
#pragma interface DECONS_exp_dummy
4140
 
4141
#pragma token PROC (\
4142
	EXP : DESTROYER :,\
4143
	EXP lvalue : TYPE :,\
4144
	EXP lvalue : EXP :,\
4145
	EXP lvalue : ulong_type :,\
4146
	EXP lvalue : OFFSET :,\
4147
	EXP lvalue : int :,\
4148
	EXP lvalue : int :,\
4149
	EXP : EXP :\
4150
    ) STATEMENT DESTROY_exp_dummy #
4151
#pragma interface DESTROY_exp_dummy
4152
 
4153
 
4154
#endif