Subversion Repositories tendra.SVN

Rev

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

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997, 1998
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
/*
31
    AUTOMATICALLY GENERATED FROM ALGEBRA c_class (VERSION 1.1)
32
    BY calculus (VERSION 1.2)
33
*/
34
 
35
#ifndef TYPE_OPS_H_INCLUDED
36
#define TYPE_OPS_H_INCLUDED
37
 
38
/* Operations for union TYPE */
39
 
6 7u83 40
#pragma token PROC(EXP : TYPE :) EXP : unsigned : TAG_type #
2 7u83 41
#pragma interface TAG_type
42
 
43
 
44
/* Operations for component qual of union TYPE */
45
 
6 7u83 46
#pragma token PROC(EXP : TYPE :)\
47
    EXP : PTR(CV_SPEC) : type_qual #
2 7u83 48
#pragma interface type_qual
49
 
50
/* Operations for component name of union TYPE */
51
 
6 7u83 52
#pragma token PROC(EXP : TYPE :)\
53
    EXP : PTR(IDENTIFIER) : type_name #
2 7u83 54
#pragma interface type_name
55
 
56
/* Operations for field pre of union TYPE */
57
 
58
#pragma token EXP const : unsigned : type_pre_tag #
6 7u83 59
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_pre #
2 7u83 60
#pragma interface type_pre_tag IS_type_pre
61
 
6 7u83 62
#pragma token PROC(EXP : TYPE :)\
63
    EXP : PTR(BASE_TYPE) : type_pre_rep #
2 7u83 64
#pragma interface type_pre_rep
65
 
6 7u83 66
#pragma token PROC(EXP : TYPE :)\
67
    EXP : PTR(QUALIFIER) : type_pre_nqual #
2 7u83 68
#pragma interface type_pre_nqual
69
 
6 7u83 70
#pragma token PROC(\
2 7u83 71
	EXP : CV_SPEC :,\
72
	EXP : BASE_TYPE :,\
73
	EXP : QUALIFIER :,\
74
	EXP lvalue : TYPE :\
75
    ) STATEMENT MAKE_type_pre #
76
#pragma interface MAKE_type_pre
77
 
6 7u83 78
#pragma token PROC(\
2 7u83 79
	EXP lvalue : CV_SPEC :,\
80
	EXP lvalue : IDENTIFIER :,\
81
	EXP lvalue : BASE_TYPE :,\
82
	EXP lvalue : QUALIFIER :,\
83
	EXP : TYPE :\
84
    ) STATEMENT DECONS_type_pre #
85
#pragma interface DECONS_type_pre
86
 
6 7u83 87
#pragma token PROC(\
2 7u83 88
	EXP : DESTROYER :,\
89
	EXP lvalue : CV_SPEC :,\
90
	EXP lvalue : IDENTIFIER :,\
91
	EXP lvalue : BASE_TYPE :,\
92
	EXP lvalue : QUALIFIER :,\
93
	EXP : TYPE :\
94
    ) STATEMENT DESTROY_type_pre #
95
#pragma interface DESTROY_type_pre
96
 
97
 
98
/* Operations for field integer of union TYPE */
99
 
100
#pragma token EXP const : unsigned : type_integer_tag #
6 7u83 101
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_integer #
2 7u83 102
#pragma interface type_integer_tag IS_type_integer
103
 
6 7u83 104
#pragma token PROC(EXP : TYPE :)\
105
    EXP : PTR(INT_TYPE) : type_integer_rep #
2 7u83 106
#pragma interface type_integer_rep
107
 
6 7u83 108
#pragma token PROC(EXP : TYPE :)\
109
    EXP : PTR(INT_TYPE) : type_integer_sem #
2 7u83 110
#pragma interface type_integer_sem
111
 
6 7u83 112
#pragma token PROC(\
2 7u83 113
	EXP : CV_SPEC :,\
114
	EXP : INT_TYPE :,\
115
	EXP : INT_TYPE :,\
116
	EXP lvalue : TYPE :\
117
    ) STATEMENT MAKE_type_integer #
118
#pragma interface MAKE_type_integer
119
 
6 7u83 120
#pragma token PROC(\
2 7u83 121
	EXP lvalue : CV_SPEC :,\
122
	EXP lvalue : IDENTIFIER :,\
123
	EXP lvalue : INT_TYPE :,\
124
	EXP lvalue : INT_TYPE :,\
125
	EXP : TYPE :\
126
    ) STATEMENT DECONS_type_integer #
127
#pragma interface DECONS_type_integer
128
 
6 7u83 129
#pragma token PROC(\
2 7u83 130
	EXP : DESTROYER :,\
131
	EXP lvalue : CV_SPEC :,\
132
	EXP lvalue : IDENTIFIER :,\
133
	EXP lvalue : INT_TYPE :,\
134
	EXP lvalue : INT_TYPE :,\
135
	EXP : TYPE :\
136
    ) STATEMENT DESTROY_type_integer #
137
#pragma interface DESTROY_type_integer
138
 
139
 
140
/* Operations for field floating of union TYPE */
141
 
142
#pragma token EXP const : unsigned : type_floating_tag #
6 7u83 143
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_floating #
2 7u83 144
#pragma interface type_floating_tag IS_type_floating
145
 
6 7u83 146
#pragma token PROC(EXP : TYPE :)\
147
    EXP : PTR(FLOAT_TYPE) : type_floating_rep #
2 7u83 148
#pragma interface type_floating_rep
149
 
6 7u83 150
#pragma token PROC(EXP : TYPE :)\
151
    EXP : PTR(FLOAT_TYPE) : type_floating_sem #
2 7u83 152
#pragma interface type_floating_sem
153
 
6 7u83 154
#pragma token PROC(\
2 7u83 155
	EXP : CV_SPEC :,\
156
	EXP : FLOAT_TYPE :,\
157
	EXP : FLOAT_TYPE :,\
158
	EXP lvalue : TYPE :\
159
    ) STATEMENT MAKE_type_floating #
160
#pragma interface MAKE_type_floating
161
 
6 7u83 162
#pragma token PROC(\
2 7u83 163
	EXP lvalue : CV_SPEC :,\
164
	EXP lvalue : IDENTIFIER :,\
165
	EXP lvalue : FLOAT_TYPE :,\
166
	EXP lvalue : FLOAT_TYPE :,\
167
	EXP : TYPE :\
168
    ) STATEMENT DECONS_type_floating #
169
#pragma interface DECONS_type_floating
170
 
6 7u83 171
#pragma token PROC(\
2 7u83 172
	EXP : DESTROYER :,\
173
	EXP lvalue : CV_SPEC :,\
174
	EXP lvalue : IDENTIFIER :,\
175
	EXP lvalue : FLOAT_TYPE :,\
176
	EXP lvalue : FLOAT_TYPE :,\
177
	EXP : TYPE :\
178
    ) STATEMENT DESTROY_type_floating #
179
#pragma interface DESTROY_type_floating
180
 
181
 
182
/* Operations for field set top_etc of union TYPE */
183
 
184
#pragma token EXP const : unsigned : type_top_etc_tag #
6 7u83 185
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_top_etc #
2 7u83 186
#pragma interface type_top_etc_tag IS_type_top_etc
187
 
6 7u83 188
#pragma token PROC(\
2 7u83 189
	EXP : unsigned :,\
190
	EXP : CV_SPEC :,\
191
	EXP lvalue : TYPE :\
192
    ) STATEMENT MAKE_type_top_etc #
193
#pragma interface MAKE_type_top_etc
194
 
6 7u83 195
#pragma token PROC(\
2 7u83 196
	EXP : unsigned :,\
197
	EXP : TYPE :\
198
    ) STATEMENT MODIFY_type_top_etc #
199
#pragma interface MODIFY_type_top_etc
200
 
6 7u83 201
#pragma token PROC(\
2 7u83 202
	EXP lvalue : CV_SPEC :,\
203
	EXP lvalue : IDENTIFIER :,\
204
	EXP : TYPE :\
205
    ) STATEMENT DECONS_type_top_etc #
206
#pragma interface DECONS_type_top_etc
207
 
6 7u83 208
#pragma token PROC(\
2 7u83 209
	EXP : DESTROYER :,\
210
	EXP lvalue : CV_SPEC :,\
211
	EXP lvalue : IDENTIFIER :,\
212
	EXP : TYPE :\
213
    ) STATEMENT DESTROY_type_top_etc #
214
#pragma interface DESTROY_type_top_etc
215
 
216
 
217
/* Operations for field top of union TYPE */
218
 
219
#pragma token EXP const : unsigned : type_top_tag #
6 7u83 220
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_top #
2 7u83 221
#pragma interface type_top_tag IS_type_top
222
 
6 7u83 223
#pragma token PROC(\
2 7u83 224
	EXP : CV_SPEC :,\
225
	EXP lvalue : TYPE :\
226
    ) STATEMENT MAKE_type_top #
227
#pragma interface MAKE_type_top
228
 
6 7u83 229
#pragma token PROC(\
2 7u83 230
	EXP lvalue : CV_SPEC :,\
231
	EXP lvalue : IDENTIFIER :,\
232
	EXP : TYPE :\
233
    ) STATEMENT DECONS_type_top #
234
#pragma interface DECONS_type_top
235
 
6 7u83 236
#pragma token PROC(\
2 7u83 237
	EXP : DESTROYER :,\
238
	EXP lvalue : CV_SPEC :,\
239
	EXP lvalue : IDENTIFIER :,\
240
	EXP : TYPE :\
241
    ) STATEMENT DESTROY_type_top #
242
#pragma interface DESTROY_type_top
243
 
244
 
245
/* Operations for field bottom of union TYPE */
246
 
247
#pragma token EXP const : unsigned : type_bottom_tag #
6 7u83 248
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_bottom #
2 7u83 249
#pragma interface type_bottom_tag IS_type_bottom
250
 
6 7u83 251
#pragma token PROC(\
2 7u83 252
	EXP : CV_SPEC :,\
253
	EXP lvalue : TYPE :\
254
    ) STATEMENT MAKE_type_bottom #
255
#pragma interface MAKE_type_bottom
256
 
6 7u83 257
#pragma token PROC(\
2 7u83 258
	EXP lvalue : CV_SPEC :,\
259
	EXP lvalue : IDENTIFIER :,\
260
	EXP : TYPE :\
261
    ) STATEMENT DECONS_type_bottom #
262
#pragma interface DECONS_type_bottom
263
 
6 7u83 264
#pragma token PROC(\
2 7u83 265
	EXP : DESTROYER :,\
266
	EXP lvalue : CV_SPEC :,\
267
	EXP lvalue : IDENTIFIER :,\
268
	EXP : TYPE :\
269
    ) STATEMENT DESTROY_type_bottom #
270
#pragma interface DESTROY_type_bottom
271
 
272
 
273
/* Operations for field set ptr_etc of union TYPE */
274
 
275
#pragma token EXP const : unsigned : type_ptr_etc_tag #
6 7u83 276
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ptr_etc #
2 7u83 277
#pragma interface type_ptr_etc_tag IS_type_ptr_etc
278
 
6 7u83 279
#pragma token PROC(EXP : TYPE :)\
280
    EXP : PTR(TYPE) : type_ptr_etc_sub #
2 7u83 281
#pragma interface type_ptr_etc_sub
282
 
6 7u83 283
#pragma token PROC(\
2 7u83 284
	EXP : unsigned :,\
285
	EXP : CV_SPEC :,\
286
	EXP : TYPE :,\
287
	EXP lvalue : TYPE :\
288
    ) STATEMENT MAKE_type_ptr_etc #
289
#pragma interface MAKE_type_ptr_etc
290
 
6 7u83 291
#pragma token PROC(\
2 7u83 292
	EXP : unsigned :,\
293
	EXP : TYPE :\
294
    ) STATEMENT MODIFY_type_ptr_etc #
295
#pragma interface MODIFY_type_ptr_etc
296
 
6 7u83 297
#pragma token PROC(\
2 7u83 298
	EXP lvalue : CV_SPEC :,\
299
	EXP lvalue : IDENTIFIER :,\
300
	EXP lvalue : TYPE :,\
301
	EXP : TYPE :\
302
    ) STATEMENT DECONS_type_ptr_etc #
303
#pragma interface DECONS_type_ptr_etc
304
 
6 7u83 305
#pragma token PROC(\
2 7u83 306
	EXP : DESTROYER :,\
307
	EXP lvalue : CV_SPEC :,\
308
	EXP lvalue : IDENTIFIER :,\
309
	EXP lvalue : TYPE :,\
310
	EXP : TYPE :\
311
    ) STATEMENT DESTROY_type_ptr_etc #
312
#pragma interface DESTROY_type_ptr_etc
313
 
314
 
315
/* Operations for field ptr of union TYPE */
316
 
317
#pragma token EXP const : unsigned : type_ptr_tag #
6 7u83 318
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ptr #
2 7u83 319
#pragma interface type_ptr_tag IS_type_ptr
320
 
6 7u83 321
#pragma token PROC(EXP : TYPE :)\
322
    EXP : PTR(TYPE) : type_ptr_sub #
2 7u83 323
#pragma interface type_ptr_sub
324
 
6 7u83 325
#pragma token PROC(\
2 7u83 326
	EXP : CV_SPEC :,\
327
	EXP : TYPE :,\
328
	EXP lvalue : TYPE :\
329
    ) STATEMENT MAKE_type_ptr #
330
#pragma interface MAKE_type_ptr
331
 
6 7u83 332
#pragma token PROC(\
2 7u83 333
	EXP lvalue : CV_SPEC :,\
334
	EXP lvalue : IDENTIFIER :,\
335
	EXP lvalue : TYPE :,\
336
	EXP : TYPE :\
337
    ) STATEMENT DECONS_type_ptr #
338
#pragma interface DECONS_type_ptr
339
 
6 7u83 340
#pragma token PROC(\
2 7u83 341
	EXP : DESTROYER :,\
342
	EXP lvalue : CV_SPEC :,\
343
	EXP lvalue : IDENTIFIER :,\
344
	EXP lvalue : TYPE :,\
345
	EXP : TYPE :\
346
    ) STATEMENT DESTROY_type_ptr #
347
#pragma interface DESTROY_type_ptr
348
 
349
 
350
/* Operations for field ref of union TYPE */
351
 
352
#pragma token EXP const : unsigned : type_ref_tag #
6 7u83 353
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ref #
2 7u83 354
#pragma interface type_ref_tag IS_type_ref
355
 
6 7u83 356
#pragma token PROC(EXP : TYPE :)\
357
    EXP : PTR(TYPE) : type_ref_sub #
2 7u83 358
#pragma interface type_ref_sub
359
 
6 7u83 360
#pragma token PROC(\
2 7u83 361
	EXP : CV_SPEC :,\
362
	EXP : TYPE :,\
363
	EXP lvalue : TYPE :\
364
    ) STATEMENT MAKE_type_ref #
365
#pragma interface MAKE_type_ref
366
 
6 7u83 367
#pragma token PROC(\
2 7u83 368
	EXP lvalue : CV_SPEC :,\
369
	EXP lvalue : IDENTIFIER :,\
370
	EXP lvalue : TYPE :,\
371
	EXP : TYPE :\
372
    ) STATEMENT DECONS_type_ref #
373
#pragma interface DECONS_type_ref
374
 
6 7u83 375
#pragma token PROC(\
2 7u83 376
	EXP : DESTROYER :,\
377
	EXP lvalue : CV_SPEC :,\
378
	EXP lvalue : IDENTIFIER :,\
379
	EXP lvalue : TYPE :,\
380
	EXP : TYPE :\
381
    ) STATEMENT DESTROY_type_ref #
382
#pragma interface DESTROY_type_ref
383
 
384
 
385
/* Operations for field ptr_mem of union TYPE */
386
 
387
#pragma token EXP const : unsigned : type_ptr_mem_tag #
6 7u83 388
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ptr_mem #
2 7u83 389
#pragma interface type_ptr_mem_tag IS_type_ptr_mem
390
 
6 7u83 391
#pragma token PROC(EXP : TYPE :)\
392
    EXP : PTR(CLASS_TYPE) : type_ptr_mem_of #
2 7u83 393
#pragma interface type_ptr_mem_of
394
 
6 7u83 395
#pragma token PROC(EXP : TYPE :)\
396
    EXP : PTR(TYPE) : type_ptr_mem_sub #
2 7u83 397
#pragma interface type_ptr_mem_sub
398
 
6 7u83 399
#pragma token PROC(\
2 7u83 400
	EXP : CV_SPEC :,\
401
	EXP : CLASS_TYPE :,\
402
	EXP : TYPE :,\
403
	EXP lvalue : TYPE :\
404
    ) STATEMENT MAKE_type_ptr_mem #
405
#pragma interface MAKE_type_ptr_mem
406
 
6 7u83 407
#pragma token PROC(\
2 7u83 408
	EXP lvalue : CV_SPEC :,\
409
	EXP lvalue : IDENTIFIER :,\
410
	EXP lvalue : CLASS_TYPE :,\
411
	EXP lvalue : TYPE :,\
412
	EXP : TYPE :\
413
    ) STATEMENT DECONS_type_ptr_mem #
414
#pragma interface DECONS_type_ptr_mem
415
 
6 7u83 416
#pragma token PROC(\
2 7u83 417
	EXP : DESTROYER :,\
418
	EXP lvalue : CV_SPEC :,\
419
	EXP lvalue : IDENTIFIER :,\
420
	EXP lvalue : CLASS_TYPE :,\
421
	EXP lvalue : TYPE :,\
422
	EXP : TYPE :\
423
    ) STATEMENT DESTROY_type_ptr_mem #
424
#pragma interface DESTROY_type_ptr_mem
425
 
426
 
427
/* Operations for field func of union TYPE */
428
 
429
#pragma token EXP const : unsigned : type_func_tag #
6 7u83 430
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_func #
2 7u83 431
#pragma interface type_func_tag IS_type_func
432
 
6 7u83 433
#pragma token PROC(EXP : TYPE :)\
434
    EXP : PTR(TYPE) : type_func_ret #
2 7u83 435
#pragma interface type_func_ret
436
 
6 7u83 437
#pragma token PROC(EXP : TYPE :)\
438
    EXP : PTR(LIST(TYPE)) : type_func_ptypes #
2 7u83 439
#pragma interface type_func_ptypes
440
 
6 7u83 441
#pragma token PROC(EXP : TYPE :)\
442
    EXP : PTR(int) : type_func_ellipsis #
2 7u83 443
#pragma interface type_func_ellipsis
444
 
6 7u83 445
#pragma token PROC(EXP : TYPE :)\
446
    EXP : PTR(CV_SPEC) : type_func_mqual #
2 7u83 447
#pragma interface type_func_mqual
448
 
6 7u83 449
#pragma token PROC(EXP : TYPE :)\
450
    EXP : PTR(LIST(TYPE)) : type_func_mtypes #
2 7u83 451
#pragma interface type_func_mtypes
452
 
6 7u83 453
#pragma token PROC(EXP : TYPE :)\
454
    EXP : PTR(NAMESPACE) : type_func_pars #
2 7u83 455
#pragma interface type_func_pars
456
 
6 7u83 457
#pragma token PROC(EXP : TYPE :)\
458
    EXP : PTR(LIST(IDENTIFIER)) : type_func_pids #
2 7u83 459
#pragma interface type_func_pids
460
 
6 7u83 461
#pragma token PROC(EXP : TYPE :)\
462
    EXP : PTR(LIST(TYPE)) : type_func_except #
2 7u83 463
#pragma interface type_func_except
464
 
6 7u83 465
#pragma token PROC(\
2 7u83 466
	EXP : CV_SPEC :,\
467
	EXP : TYPE :,\
6 7u83 468
	EXP : LIST(TYPE) :,\
2 7u83 469
	EXP : int :,\
470
	EXP : CV_SPEC :,\
6 7u83 471
	EXP : LIST(TYPE) :,\
2 7u83 472
	EXP : NAMESPACE :,\
6 7u83 473
	EXP : LIST(IDENTIFIER) :,\
474
	EXP : LIST(TYPE) :,\
2 7u83 475
	EXP lvalue : TYPE :\
476
    ) STATEMENT MAKE_type_func #
477
#pragma interface MAKE_type_func
478
 
6 7u83 479
#pragma token PROC(\
2 7u83 480
	EXP lvalue : CV_SPEC :,\
481
	EXP lvalue : IDENTIFIER :,\
482
	EXP lvalue : TYPE :,\
6 7u83 483
	EXP lvalue : LIST(TYPE) :,\
2 7u83 484
	EXP lvalue : int :,\
485
	EXP lvalue : CV_SPEC :,\
6 7u83 486
	EXP lvalue : LIST(TYPE) :,\
2 7u83 487
	EXP lvalue : NAMESPACE :,\
6 7u83 488
	EXP lvalue : LIST(IDENTIFIER) :,\
489
	EXP lvalue : LIST(TYPE) :,\
2 7u83 490
	EXP : TYPE :\
491
    ) STATEMENT DECONS_type_func #
492
#pragma interface DECONS_type_func
493
 
6 7u83 494
#pragma token PROC(\
2 7u83 495
	EXP : DESTROYER :,\
496
	EXP lvalue : CV_SPEC :,\
497
	EXP lvalue : IDENTIFIER :,\
498
	EXP lvalue : TYPE :,\
6 7u83 499
	EXP lvalue : LIST(TYPE) :,\
2 7u83 500
	EXP lvalue : int :,\
501
	EXP lvalue : CV_SPEC :,\
6 7u83 502
	EXP lvalue : LIST(TYPE) :,\
2 7u83 503
	EXP lvalue : NAMESPACE :,\
6 7u83 504
	EXP lvalue : LIST(IDENTIFIER) :,\
505
	EXP lvalue : LIST(TYPE) :,\
2 7u83 506
	EXP : TYPE :\
507
    ) STATEMENT DESTROY_type_func #
508
#pragma interface DESTROY_type_func
509
 
510
 
511
/* Operations for field array of union TYPE */
512
 
513
#pragma token EXP const : unsigned : type_array_tag #
6 7u83 514
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_array #
2 7u83 515
#pragma interface type_array_tag IS_type_array
516
 
6 7u83 517
#pragma token PROC(EXP : TYPE :)\
518
    EXP : PTR(TYPE) : type_array_sub #
2 7u83 519
#pragma interface type_array_sub
520
 
6 7u83 521
#pragma token PROC(EXP : TYPE :)\
522
    EXP : PTR(NAT) : type_array_size #
2 7u83 523
#pragma interface type_array_size
524
 
6 7u83 525
#pragma token PROC(\
2 7u83 526
	EXP : CV_SPEC :,\
527
	EXP : TYPE :,\
528
	EXP : NAT :,\
529
	EXP lvalue : TYPE :\
530
    ) STATEMENT MAKE_type_array #
531
#pragma interface MAKE_type_array
532
 
6 7u83 533
#pragma token PROC(\
2 7u83 534
	EXP lvalue : CV_SPEC :,\
535
	EXP lvalue : IDENTIFIER :,\
536
	EXP lvalue : TYPE :,\
537
	EXP lvalue : NAT :,\
538
	EXP : TYPE :\
539
    ) STATEMENT DECONS_type_array #
540
#pragma interface DECONS_type_array
541
 
6 7u83 542
#pragma token PROC(\
2 7u83 543
	EXP : DESTROYER :,\
544
	EXP lvalue : CV_SPEC :,\
545
	EXP lvalue : IDENTIFIER :,\
546
	EXP lvalue : TYPE :,\
547
	EXP lvalue : NAT :,\
548
	EXP : TYPE :\
549
    ) STATEMENT DESTROY_type_array #
550
#pragma interface DESTROY_type_array
551
 
552
 
553
/* Operations for field bitfield of union TYPE */
554
 
555
#pragma token EXP const : unsigned : type_bitfield_tag #
6 7u83 556
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_bitfield #
2 7u83 557
#pragma interface type_bitfield_tag IS_type_bitfield
558
 
6 7u83 559
#pragma token PROC(EXP : TYPE :)\
560
    EXP : PTR(INT_TYPE) : type_bitfield_defn #
2 7u83 561
#pragma interface type_bitfield_defn
562
 
6 7u83 563
#pragma token PROC(\
2 7u83 564
	EXP : CV_SPEC :,\
565
	EXP : INT_TYPE :,\
566
	EXP lvalue : TYPE :\
567
    ) STATEMENT MAKE_type_bitfield #
568
#pragma interface MAKE_type_bitfield
569
 
6 7u83 570
#pragma token PROC(\
2 7u83 571
	EXP lvalue : CV_SPEC :,\
572
	EXP lvalue : IDENTIFIER :,\
573
	EXP lvalue : INT_TYPE :,\
574
	EXP : TYPE :\
575
    ) STATEMENT DECONS_type_bitfield #
576
#pragma interface DECONS_type_bitfield
577
 
6 7u83 578
#pragma token PROC(\
2 7u83 579
	EXP : DESTROYER :,\
580
	EXP lvalue : CV_SPEC :,\
581
	EXP lvalue : IDENTIFIER :,\
582
	EXP lvalue : INT_TYPE :,\
583
	EXP : TYPE :\
584
    ) STATEMENT DESTROY_type_bitfield #
585
#pragma interface DESTROY_type_bitfield
586
 
587
 
588
/* Operations for field compound of union TYPE */
589
 
590
#pragma token EXP const : unsigned : type_compound_tag #
6 7u83 591
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_compound #
2 7u83 592
#pragma interface type_compound_tag IS_type_compound
593
 
6 7u83 594
#pragma token PROC(EXP : TYPE :)\
595
    EXP : PTR(CLASS_TYPE) : type_compound_defn #
2 7u83 596
#pragma interface type_compound_defn
597
 
6 7u83 598
#pragma token PROC(\
2 7u83 599
	EXP : CV_SPEC :,\
600
	EXP : CLASS_TYPE :,\
601
	EXP lvalue : TYPE :\
602
    ) STATEMENT MAKE_type_compound #
603
#pragma interface MAKE_type_compound
604
 
6 7u83 605
#pragma token PROC(\
2 7u83 606
	EXP lvalue : CV_SPEC :,\
607
	EXP lvalue : IDENTIFIER :,\
608
	EXP lvalue : CLASS_TYPE :,\
609
	EXP : TYPE :\
610
    ) STATEMENT DECONS_type_compound #
611
#pragma interface DECONS_type_compound
612
 
6 7u83 613
#pragma token PROC(\
2 7u83 614
	EXP : DESTROYER :,\
615
	EXP lvalue : CV_SPEC :,\
616
	EXP lvalue : IDENTIFIER :,\
617
	EXP lvalue : CLASS_TYPE :,\
618
	EXP : TYPE :\
619
    ) STATEMENT DESTROY_type_compound #
620
#pragma interface DESTROY_type_compound
621
 
622
 
623
/* Operations for field enumerate of union TYPE */
624
 
625
#pragma token EXP const : unsigned : type_enumerate_tag #
6 7u83 626
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_enumerate #
2 7u83 627
#pragma interface type_enumerate_tag IS_type_enumerate
628
 
6 7u83 629
#pragma token PROC(EXP : TYPE :)\
630
    EXP : PTR(ENUM_TYPE) : type_enumerate_defn #
2 7u83 631
#pragma interface type_enumerate_defn
632
 
6 7u83 633
#pragma token PROC(\
2 7u83 634
	EXP : CV_SPEC :,\
635
	EXP : ENUM_TYPE :,\
636
	EXP lvalue : TYPE :\
637
    ) STATEMENT MAKE_type_enumerate #
638
#pragma interface MAKE_type_enumerate
639
 
6 7u83 640
#pragma token PROC(\
2 7u83 641
	EXP lvalue : CV_SPEC :,\
642
	EXP lvalue : IDENTIFIER :,\
643
	EXP lvalue : ENUM_TYPE :,\
644
	EXP : TYPE :\
645
    ) STATEMENT DECONS_type_enumerate #
646
#pragma interface DECONS_type_enumerate
647
 
6 7u83 648
#pragma token PROC(\
2 7u83 649
	EXP : DESTROYER :,\
650
	EXP lvalue : CV_SPEC :,\
651
	EXP lvalue : IDENTIFIER :,\
652
	EXP lvalue : ENUM_TYPE :,\
653
	EXP : TYPE :\
654
    ) STATEMENT DESTROY_type_enumerate #
655
#pragma interface DESTROY_type_enumerate
656
 
657
 
658
/* Operations for field token of union TYPE */
659
 
660
#pragma token EXP const : unsigned : type_token_tag #
6 7u83 661
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_token #
2 7u83 662
#pragma interface type_token_tag IS_type_token
663
 
6 7u83 664
#pragma token PROC(EXP : TYPE :)\
665
    EXP : PTR(IDENTIFIER) : type_token_tok #
2 7u83 666
#pragma interface type_token_tok
667
 
6 7u83 668
#pragma token PROC(EXP : TYPE :)\
669
    EXP : PTR(LIST(TOKEN)) : type_token_args #
2 7u83 670
#pragma interface type_token_args
671
 
6 7u83 672
#pragma token PROC(EXP : TYPE :)\
673
    EXP : PTR(INSTANCE) : type_token_app #
2 7u83 674
#pragma interface type_token_app
675
 
6 7u83 676
#pragma token PROC(\
2 7u83 677
	EXP : CV_SPEC :,\
678
	EXP : IDENTIFIER :,\
6 7u83 679
	EXP : LIST(TOKEN) :,\
2 7u83 680
	EXP lvalue : TYPE :\
681
    ) STATEMENT MAKE_type_token #
682
#pragma interface MAKE_type_token
683
 
6 7u83 684
#pragma token PROC(\
2 7u83 685
	EXP lvalue : CV_SPEC :,\
686
	EXP lvalue : IDENTIFIER :,\
687
	EXP lvalue : IDENTIFIER :,\
6 7u83 688
	EXP lvalue : LIST(TOKEN) :,\
2 7u83 689
	EXP lvalue : INSTANCE :,\
690
	EXP : TYPE :\
691
    ) STATEMENT DECONS_type_token #
692
#pragma interface DECONS_type_token
693
 
6 7u83 694
#pragma token PROC(\
2 7u83 695
	EXP : DESTROYER :,\
696
	EXP lvalue : CV_SPEC :,\
697
	EXP lvalue : IDENTIFIER :,\
698
	EXP lvalue : IDENTIFIER :,\
6 7u83 699
	EXP lvalue : LIST(TOKEN) :,\
2 7u83 700
	EXP lvalue : INSTANCE :,\
701
	EXP : TYPE :\
702
    ) STATEMENT DESTROY_type_token #
703
#pragma interface DESTROY_type_token
704
 
705
 
706
/* Operations for field templ of union TYPE */
707
 
708
#pragma token EXP const : unsigned : type_templ_tag #
6 7u83 709
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_templ #
2 7u83 710
#pragma interface type_templ_tag IS_type_templ
711
 
6 7u83 712
#pragma token PROC(EXP : TYPE :)\
713
    EXP : PTR(TOKEN) : type_templ_sort #
2 7u83 714
#pragma interface type_templ_sort
715
 
6 7u83 716
#pragma token PROC(EXP : TYPE :)\
717
    EXP : PTR(TYPE) : type_templ_defn #
2 7u83 718
#pragma interface type_templ_defn
719
 
6 7u83 720
#pragma token PROC(EXP : TYPE :)\
721
    EXP : PTR(int) : type_templ_fix #
2 7u83 722
#pragma interface type_templ_fix
723
 
6 7u83 724
#pragma token PROC(\
2 7u83 725
	EXP : CV_SPEC :,\
726
	EXP : TOKEN :,\
727
	EXP : TYPE :,\
728
	EXP : int :,\
729
	EXP lvalue : TYPE :\
730
    ) STATEMENT MAKE_type_templ #
731
#pragma interface MAKE_type_templ
732
 
6 7u83 733
#pragma token PROC(\
2 7u83 734
	EXP lvalue : CV_SPEC :,\
735
	EXP lvalue : IDENTIFIER :,\
736
	EXP lvalue : TOKEN :,\
737
	EXP lvalue : TYPE :,\
738
	EXP lvalue : int :,\
739
	EXP : TYPE :\
740
    ) STATEMENT DECONS_type_templ #
741
#pragma interface DECONS_type_templ
742
 
6 7u83 743
#pragma token PROC(\
2 7u83 744
	EXP : DESTROYER :,\
745
	EXP lvalue : CV_SPEC :,\
746
	EXP lvalue : IDENTIFIER :,\
747
	EXP lvalue : TOKEN :,\
748
	EXP lvalue : TYPE :,\
749
	EXP lvalue : int :,\
750
	EXP : TYPE :\
751
    ) STATEMENT DESTROY_type_templ #
752
#pragma interface DESTROY_type_templ
753
 
754
 
755
/* Operations for field instance of union TYPE */
756
 
757
#pragma token EXP const : unsigned : type_instance_tag #
6 7u83 758
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_instance #
2 7u83 759
#pragma interface type_instance_tag IS_type_instance
760
 
6 7u83 761
#pragma token PROC(EXP : TYPE :)\
762
    EXP : PTR(IDENTIFIER) : type_instance_id #
2 7u83 763
#pragma interface type_instance_id
764
 
6 7u83 765
#pragma token PROC(EXP : TYPE :)\
766
    EXP : PTR(DECL_SPEC) : type_instance_access #
2 7u83 767
#pragma interface type_instance_access
768
 
6 7u83 769
#pragma token PROC(\
2 7u83 770
	EXP : CV_SPEC :,\
771
	EXP : IDENTIFIER :,\
772
	EXP : DECL_SPEC :,\
773
	EXP lvalue : TYPE :\
774
    ) STATEMENT MAKE_type_instance #
775
#pragma interface MAKE_type_instance
776
 
6 7u83 777
#pragma token PROC(\
2 7u83 778
	EXP lvalue : CV_SPEC :,\
779
	EXP lvalue : IDENTIFIER :,\
780
	EXP lvalue : IDENTIFIER :,\
781
	EXP lvalue : DECL_SPEC :,\
782
	EXP : TYPE :\
783
    ) STATEMENT DECONS_type_instance #
784
#pragma interface DECONS_type_instance
785
 
6 7u83 786
#pragma token PROC(\
2 7u83 787
	EXP : DESTROYER :,\
788
	EXP lvalue : CV_SPEC :,\
789
	EXP lvalue : IDENTIFIER :,\
790
	EXP lvalue : IDENTIFIER :,\
791
	EXP lvalue : DECL_SPEC :,\
792
	EXP : TYPE :\
793
    ) STATEMENT DESTROY_type_instance #
794
#pragma interface DESTROY_type_instance
795
 
796
 
797
/* Operations for field dummy of union TYPE */
798
 
799
#pragma token EXP const : unsigned : type_dummy_tag #
6 7u83 800
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_dummy #
2 7u83 801
#pragma interface type_dummy_tag IS_type_dummy
802
 
6 7u83 803
#pragma token PROC(EXP : TYPE :)\
804
    EXP : PTR(int) : type_dummy_tok #
2 7u83 805
#pragma interface type_dummy_tok
806
 
6 7u83 807
#pragma token PROC(\
2 7u83 808
	EXP : CV_SPEC :,\
809
	EXP : int :,\
810
	EXP lvalue : TYPE :\
811
    ) STATEMENT MAKE_type_dummy #
812
#pragma interface MAKE_type_dummy
813
 
6 7u83 814
#pragma token PROC(\
2 7u83 815
	EXP lvalue : CV_SPEC :,\
816
	EXP lvalue : IDENTIFIER :,\
817
	EXP lvalue : int :,\
818
	EXP : TYPE :\
819
    ) STATEMENT DECONS_type_dummy #
820
#pragma interface DECONS_type_dummy
821
 
6 7u83 822
#pragma token PROC(\
2 7u83 823
	EXP : DESTROYER :,\
824
	EXP lvalue : CV_SPEC :,\
825
	EXP lvalue : IDENTIFIER :,\
826
	EXP lvalue : int :,\
827
	EXP : TYPE :\
828
    ) STATEMENT DESTROY_type_dummy #
829
#pragma interface DESTROY_type_dummy
830
 
831
 
832
/* Operations for field error of union TYPE */
833
 
834
#pragma token EXP const : unsigned : type_error_tag #
6 7u83 835
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_error #
2 7u83 836
#pragma interface type_error_tag IS_type_error
837
 
6 7u83 838
#pragma token PROC(\
2 7u83 839
	EXP : CV_SPEC :,\
840
	EXP lvalue : TYPE :\
841
    ) STATEMENT MAKE_type_error #
842
#pragma interface MAKE_type_error
843
 
6 7u83 844
#pragma token PROC(\
2 7u83 845
	EXP lvalue : CV_SPEC :,\
846
	EXP lvalue : IDENTIFIER :,\
847
	EXP : TYPE :\
848
    ) STATEMENT DECONS_type_error #
849
#pragma interface DECONS_type_error
850
 
6 7u83 851
#pragma token PROC(\
2 7u83 852
	EXP : DESTROYER :,\
853
	EXP lvalue : CV_SPEC :,\
854
	EXP lvalue : IDENTIFIER :,\
855
	EXP : TYPE :\
856
    ) STATEMENT DESTROY_type_error #
857
#pragma interface DESTROY_type_error
858
 
859
 
860
#endif