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
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 calculus (VERSION 1.2)
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 size of union TYPE */
45
 
6 7u83 46
#pragma token PROC(EXP : TYPE :)\
47
    EXP : PTR(zero_int) : type_size #
2 7u83 48
#pragma interface type_size
49
 
50
/* Operations for field primitive of union TYPE */
51
 
52
#pragma token EXP const : unsigned : type_primitive_tag #
6 7u83 53
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_primitive #
2 7u83 54
#pragma interface type_primitive_tag IS_type_primitive
55
 
6 7u83 56
#pragma token PROC(EXP : TYPE :)\
57
    EXP : PTR(PRIMITIVE_P) : type_primitive_prim #
2 7u83 58
#pragma interface type_primitive_prim
59
 
6 7u83 60
#pragma token PROC(\
2 7u83 61
	EXP : zero_int :,\
62
	EXP : PRIMITIVE_P :,\
63
	EXP lvalue : TYPE :\
64
    ) STATEMENT MAKE_type_primitive #
65
#pragma interface MAKE_type_primitive
66
 
6 7u83 67
#pragma token PROC(\
2 7u83 68
	EXP lvalue : zero_int :,\
69
	EXP lvalue : PRIMITIVE_P :,\
70
	EXP : TYPE :\
71
    ) STATEMENT DECONS_type_primitive #
72
#pragma interface DECONS_type_primitive
73
 
6 7u83 74
#pragma token PROC(\
2 7u83 75
	EXP : DESTROYER :,\
76
	EXP lvalue : zero_int :,\
77
	EXP lvalue : PRIMITIVE_P :,\
78
	EXP : TYPE :\
79
    ) STATEMENT DESTROY_type_primitive #
80
#pragma interface DESTROY_type_primitive
81
 
82
#ifdef calculus_IO_ROUTINES
83
 
6 7u83 84
#pragma token PROC(\
2 7u83 85
	EXP lvalue : TYPE :,\
86
	EXP : unsigned :\
87
    ) STATEMENT NEW_ALIAS_type_primitive #
88
#pragma interface NEW_ALIAS_type_primitive
89
 
6 7u83 90
#pragma token PROC(EXP : TYPE :)\
2 7u83 91
    EXP : unsigned : GET_ALIAS_type_primitive #
6 7u83 92
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 93
    EXP : void : SET_ALIAS_type_primitive #
6 7u83 94
#pragma token PROC(EXP : unsigned :)\
2 7u83 95
    EXP : TYPE : FIND_ALIAS_type_primitive #
96
 
97
#pragma interface GET_ALIAS_type_primitive SET_ALIAS_type_primitive FIND_ALIAS_type_primitive
98
 
99
#endif
100
 
101
 
102
/* Operations for field ident of union TYPE */
103
 
104
#pragma token EXP const : unsigned : type_ident_tag #
6 7u83 105
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ident #
2 7u83 106
#pragma interface type_ident_tag IS_type_ident
107
 
6 7u83 108
#pragma token PROC(EXP : TYPE :)\
109
    EXP : PTR(IDENTITY_P) : type_ident_id #
2 7u83 110
#pragma interface type_ident_id
111
 
6 7u83 112
#pragma token PROC(\
2 7u83 113
	EXP : zero_int :,\
114
	EXP : IDENTITY_P :,\
115
	EXP lvalue : TYPE :\
116
    ) STATEMENT MAKE_type_ident #
117
#pragma interface MAKE_type_ident
118
 
6 7u83 119
#pragma token PROC(\
2 7u83 120
	EXP lvalue : zero_int :,\
121
	EXP lvalue : IDENTITY_P :,\
122
	EXP : TYPE :\
123
    ) STATEMENT DECONS_type_ident #
124
#pragma interface DECONS_type_ident
125
 
6 7u83 126
#pragma token PROC(\
2 7u83 127
	EXP : DESTROYER :,\
128
	EXP lvalue : zero_int :,\
129
	EXP lvalue : IDENTITY_P :,\
130
	EXP : TYPE :\
131
    ) STATEMENT DESTROY_type_ident #
132
#pragma interface DESTROY_type_ident
133
 
134
#ifdef calculus_IO_ROUTINES
135
 
6 7u83 136
#pragma token PROC(\
2 7u83 137
	EXP lvalue : TYPE :,\
138
	EXP : unsigned :\
139
    ) STATEMENT NEW_ALIAS_type_ident #
140
#pragma interface NEW_ALIAS_type_ident
141
 
6 7u83 142
#pragma token PROC(EXP : TYPE :)\
2 7u83 143
    EXP : unsigned : GET_ALIAS_type_ident #
6 7u83 144
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 145
    EXP : void : SET_ALIAS_type_ident #
6 7u83 146
#pragma token PROC(EXP : unsigned :)\
2 7u83 147
    EXP : TYPE : FIND_ALIAS_type_ident #
148
 
149
#pragma interface GET_ALIAS_type_ident SET_ALIAS_type_ident FIND_ALIAS_type_ident
150
 
151
#endif
152
 
153
 
154
/* Operations for field enumeration of union TYPE */
155
 
156
#pragma token EXP const : unsigned : type_enumeration_tag #
6 7u83 157
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_enumeration #
2 7u83 158
#pragma interface type_enumeration_tag IS_type_enumeration
159
 
6 7u83 160
#pragma token PROC(EXP : TYPE :)\
161
    EXP : PTR(ENUM_P) : type_enumeration_en #
2 7u83 162
#pragma interface type_enumeration_en
163
 
6 7u83 164
#pragma token PROC(\
2 7u83 165
	EXP : zero_int :,\
166
	EXP : ENUM_P :,\
167
	EXP lvalue : TYPE :\
168
    ) STATEMENT MAKE_type_enumeration #
169
#pragma interface MAKE_type_enumeration
170
 
6 7u83 171
#pragma token PROC(\
2 7u83 172
	EXP lvalue : zero_int :,\
173
	EXP lvalue : ENUM_P :,\
174
	EXP : TYPE :\
175
    ) STATEMENT DECONS_type_enumeration #
176
#pragma interface DECONS_type_enumeration
177
 
6 7u83 178
#pragma token PROC(\
2 7u83 179
	EXP : DESTROYER :,\
180
	EXP lvalue : zero_int :,\
181
	EXP lvalue : ENUM_P :,\
182
	EXP : TYPE :\
183
    ) STATEMENT DESTROY_type_enumeration #
184
#pragma interface DESTROY_type_enumeration
185
 
186
#ifdef calculus_IO_ROUTINES
187
 
6 7u83 188
#pragma token PROC(\
2 7u83 189
	EXP lvalue : TYPE :,\
190
	EXP : unsigned :\
191
    ) STATEMENT NEW_ALIAS_type_enumeration #
192
#pragma interface NEW_ALIAS_type_enumeration
193
 
6 7u83 194
#pragma token PROC(EXP : TYPE :)\
2 7u83 195
    EXP : unsigned : GET_ALIAS_type_enumeration #
6 7u83 196
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 197
    EXP : void : SET_ALIAS_type_enumeration #
6 7u83 198
#pragma token PROC(EXP : unsigned :)\
2 7u83 199
    EXP : TYPE : FIND_ALIAS_type_enumeration #
200
 
201
#pragma interface GET_ALIAS_type_enumeration SET_ALIAS_type_enumeration FIND_ALIAS_type_enumeration
202
 
203
#endif
204
 
205
 
206
/* Operations for field structure of union TYPE */
207
 
208
#pragma token EXP const : unsigned : type_structure_tag #
6 7u83 209
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_structure #
2 7u83 210
#pragma interface type_structure_tag IS_type_structure
211
 
6 7u83 212
#pragma token PROC(EXP : TYPE :)\
213
    EXP : PTR(STRUCTURE_P) : type_structure_struc #
2 7u83 214
#pragma interface type_structure_struc
215
 
6 7u83 216
#pragma token PROC(\
2 7u83 217
	EXP : zero_int :,\
218
	EXP : STRUCTURE_P :,\
219
	EXP lvalue : TYPE :\
220
    ) STATEMENT MAKE_type_structure #
221
#pragma interface MAKE_type_structure
222
 
6 7u83 223
#pragma token PROC(\
2 7u83 224
	EXP lvalue : zero_int :,\
225
	EXP lvalue : STRUCTURE_P :,\
226
	EXP : TYPE :\
227
    ) STATEMENT DECONS_type_structure #
228
#pragma interface DECONS_type_structure
229
 
6 7u83 230
#pragma token PROC(\
2 7u83 231
	EXP : DESTROYER :,\
232
	EXP lvalue : zero_int :,\
233
	EXP lvalue : STRUCTURE_P :,\
234
	EXP : TYPE :\
235
    ) STATEMENT DESTROY_type_structure #
236
#pragma interface DESTROY_type_structure
237
 
238
#ifdef calculus_IO_ROUTINES
239
 
6 7u83 240
#pragma token PROC(\
2 7u83 241
	EXP lvalue : TYPE :,\
242
	EXP : unsigned :\
243
    ) STATEMENT NEW_ALIAS_type_structure #
244
#pragma interface NEW_ALIAS_type_structure
245
 
6 7u83 246
#pragma token PROC(EXP : TYPE :)\
2 7u83 247
    EXP : unsigned : GET_ALIAS_type_structure #
6 7u83 248
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 249
    EXP : void : SET_ALIAS_type_structure #
6 7u83 250
#pragma token PROC(EXP : unsigned :)\
2 7u83 251
    EXP : TYPE : FIND_ALIAS_type_structure #
252
 
253
#pragma interface GET_ALIAS_type_structure SET_ALIAS_type_structure FIND_ALIAS_type_structure
254
 
255
#endif
256
 
257
 
258
/* Operations for field onion of union TYPE */
259
 
260
#pragma token EXP const : unsigned : type_onion_tag #
6 7u83 261
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_onion #
2 7u83 262
#pragma interface type_onion_tag IS_type_onion
263
 
6 7u83 264
#pragma token PROC(EXP : TYPE :)\
265
    EXP : PTR(UNION_P) : type_onion_un #
2 7u83 266
#pragma interface type_onion_un
267
 
6 7u83 268
#pragma token PROC(\
2 7u83 269
	EXP : zero_int :,\
270
	EXP : UNION_P :,\
271
	EXP lvalue : TYPE :\
272
    ) STATEMENT MAKE_type_onion #
273
#pragma interface MAKE_type_onion
274
 
6 7u83 275
#pragma token PROC(\
2 7u83 276
	EXP lvalue : zero_int :,\
277
	EXP lvalue : UNION_P :,\
278
	EXP : TYPE :\
279
    ) STATEMENT DECONS_type_onion #
280
#pragma interface DECONS_type_onion
281
 
6 7u83 282
#pragma token PROC(\
2 7u83 283
	EXP : DESTROYER :,\
284
	EXP lvalue : zero_int :,\
285
	EXP lvalue : UNION_P :,\
286
	EXP : TYPE :\
287
    ) STATEMENT DESTROY_type_onion #
288
#pragma interface DESTROY_type_onion
289
 
290
#ifdef calculus_IO_ROUTINES
291
 
6 7u83 292
#pragma token PROC(\
2 7u83 293
	EXP lvalue : TYPE :,\
294
	EXP : unsigned :\
295
    ) STATEMENT NEW_ALIAS_type_onion #
296
#pragma interface NEW_ALIAS_type_onion
297
 
6 7u83 298
#pragma token PROC(EXP : TYPE :)\
2 7u83 299
    EXP : unsigned : GET_ALIAS_type_onion #
6 7u83 300
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 301
    EXP : void : SET_ALIAS_type_onion #
6 7u83 302
#pragma token PROC(EXP : unsigned :)\
2 7u83 303
    EXP : TYPE : FIND_ALIAS_type_onion #
304
 
305
#pragma interface GET_ALIAS_type_onion SET_ALIAS_type_onion FIND_ALIAS_type_onion
306
 
307
#endif
308
 
309
 
310
/* Operations for field set ptr_etc of union TYPE */
311
 
312
#pragma token EXP const : unsigned : type_ptr_etc_tag #
6 7u83 313
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ptr_etc #
2 7u83 314
#pragma interface type_ptr_etc_tag IS_type_ptr_etc
315
 
6 7u83 316
#pragma token PROC(EXP : TYPE :)\
317
    EXP : PTR(TYPE_P) : type_ptr_etc_sub #
2 7u83 318
#pragma interface type_ptr_etc_sub
319
 
6 7u83 320
#pragma token PROC(\
2 7u83 321
	EXP : unsigned :,\
322
	EXP : zero_int :,\
323
	EXP : TYPE_P :,\
324
	EXP lvalue : TYPE :\
325
    ) STATEMENT MAKE_type_ptr_etc #
326
#pragma interface MAKE_type_ptr_etc
327
 
6 7u83 328
#pragma token PROC(\
2 7u83 329
	EXP : unsigned :,\
330
	EXP : TYPE :\
331
    ) STATEMENT MODIFY_type_ptr_etc #
332
#pragma interface MODIFY_type_ptr_etc
333
 
6 7u83 334
#pragma token PROC(\
2 7u83 335
	EXP lvalue : zero_int :,\
336
	EXP lvalue : TYPE_P :,\
337
	EXP : TYPE :\
338
    ) STATEMENT DECONS_type_ptr_etc #
339
#pragma interface DECONS_type_ptr_etc
340
 
6 7u83 341
#pragma token PROC(\
2 7u83 342
	EXP : DESTROYER :,\
343
	EXP lvalue : zero_int :,\
344
	EXP lvalue : TYPE_P :,\
345
	EXP : TYPE :\
346
    ) STATEMENT DESTROY_type_ptr_etc #
347
#pragma interface DESTROY_type_ptr_etc
348
 
349
 
350
/* Operations for field ptr of union TYPE */
351
 
352
#pragma token EXP const : unsigned : type_ptr_tag #
6 7u83 353
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_ptr #
2 7u83 354
#pragma interface type_ptr_tag IS_type_ptr
355
 
6 7u83 356
#pragma token PROC(EXP : TYPE :)\
357
    EXP : PTR(TYPE_P) : type_ptr_sub #
2 7u83 358
#pragma interface type_ptr_sub
359
 
6 7u83 360
#pragma token PROC(\
2 7u83 361
	EXP : zero_int :,\
362
	EXP : TYPE_P :,\
363
	EXP lvalue : TYPE :\
364
    ) STATEMENT MAKE_type_ptr #
365
#pragma interface MAKE_type_ptr
366
 
6 7u83 367
#pragma token PROC(\
2 7u83 368
	EXP lvalue : zero_int :,\
369
	EXP lvalue : TYPE_P :,\
370
	EXP : TYPE :\
371
    ) STATEMENT DECONS_type_ptr #
372
#pragma interface DECONS_type_ptr
373
 
6 7u83 374
#pragma token PROC(\
2 7u83 375
	EXP : DESTROYER :,\
376
	EXP lvalue : zero_int :,\
377
	EXP lvalue : TYPE_P :,\
378
	EXP : TYPE :\
379
    ) STATEMENT DESTROY_type_ptr #
380
#pragma interface DESTROY_type_ptr
381
 
382
#ifdef calculus_IO_ROUTINES
383
 
6 7u83 384
#pragma token PROC(\
2 7u83 385
	EXP lvalue : TYPE :,\
386
	EXP : unsigned :\
387
    ) STATEMENT NEW_ALIAS_type_ptr #
388
#pragma interface NEW_ALIAS_type_ptr
389
 
6 7u83 390
#pragma token PROC(EXP : TYPE :)\
2 7u83 391
    EXP : unsigned : GET_ALIAS_type_ptr #
6 7u83 392
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 393
    EXP : void : SET_ALIAS_type_ptr #
6 7u83 394
#pragma token PROC(EXP : unsigned :)\
2 7u83 395
    EXP : TYPE : FIND_ALIAS_type_ptr #
396
 
397
#pragma interface GET_ALIAS_type_ptr SET_ALIAS_type_ptr FIND_ALIAS_type_ptr
398
 
399
#endif
400
 
401
 
402
/* Operations for field list of union TYPE */
403
 
404
#pragma token EXP const : unsigned : type_list_tag #
6 7u83 405
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_list #
2 7u83 406
#pragma interface type_list_tag IS_type_list
407
 
6 7u83 408
#pragma token PROC(EXP : TYPE :)\
409
    EXP : PTR(TYPE_P) : type_list_sub #
2 7u83 410
#pragma interface type_list_sub
411
 
6 7u83 412
#pragma token PROC(\
2 7u83 413
	EXP : zero_int :,\
414
	EXP : TYPE_P :,\
415
	EXP lvalue : TYPE :\
416
    ) STATEMENT MAKE_type_list #
417
#pragma interface MAKE_type_list
418
 
6 7u83 419
#pragma token PROC(\
2 7u83 420
	EXP lvalue : zero_int :,\
421
	EXP lvalue : TYPE_P :,\
422
	EXP : TYPE :\
423
    ) STATEMENT DECONS_type_list #
424
#pragma interface DECONS_type_list
425
 
6 7u83 426
#pragma token PROC(\
2 7u83 427
	EXP : DESTROYER :,\
428
	EXP lvalue : zero_int :,\
429
	EXP lvalue : TYPE_P :,\
430
	EXP : TYPE :\
431
    ) STATEMENT DESTROY_type_list #
432
#pragma interface DESTROY_type_list
433
 
434
#ifdef calculus_IO_ROUTINES
435
 
6 7u83 436
#pragma token PROC(\
2 7u83 437
	EXP lvalue : TYPE :,\
438
	EXP : unsigned :\
439
    ) STATEMENT NEW_ALIAS_type_list #
440
#pragma interface NEW_ALIAS_type_list
441
 
6 7u83 442
#pragma token PROC(EXP : TYPE :)\
2 7u83 443
    EXP : unsigned : GET_ALIAS_type_list #
6 7u83 444
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 445
    EXP : void : SET_ALIAS_type_list #
6 7u83 446
#pragma token PROC(EXP : unsigned :)\
2 7u83 447
    EXP : TYPE : FIND_ALIAS_type_list #
448
 
449
#pragma interface GET_ALIAS_type_list SET_ALIAS_type_list FIND_ALIAS_type_list
450
 
451
#endif
452
 
453
 
454
/* Operations for field stack of union TYPE */
455
 
456
#pragma token EXP const : unsigned : type_stack_tag #
6 7u83 457
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_stack #
2 7u83 458
#pragma interface type_stack_tag IS_type_stack
459
 
6 7u83 460
#pragma token PROC(EXP : TYPE :)\
461
    EXP : PTR(TYPE_P) : type_stack_sub #
2 7u83 462
#pragma interface type_stack_sub
463
 
6 7u83 464
#pragma token PROC(\
2 7u83 465
	EXP : zero_int :,\
466
	EXP : TYPE_P :,\
467
	EXP lvalue : TYPE :\
468
    ) STATEMENT MAKE_type_stack #
469
#pragma interface MAKE_type_stack
470
 
6 7u83 471
#pragma token PROC(\
2 7u83 472
	EXP lvalue : zero_int :,\
473
	EXP lvalue : TYPE_P :,\
474
	EXP : TYPE :\
475
    ) STATEMENT DECONS_type_stack #
476
#pragma interface DECONS_type_stack
477
 
6 7u83 478
#pragma token PROC(\
2 7u83 479
	EXP : DESTROYER :,\
480
	EXP lvalue : zero_int :,\
481
	EXP lvalue : TYPE_P :,\
482
	EXP : TYPE :\
483
    ) STATEMENT DESTROY_type_stack #
484
#pragma interface DESTROY_type_stack
485
 
486
#ifdef calculus_IO_ROUTINES
487
 
6 7u83 488
#pragma token PROC(\
2 7u83 489
	EXP lvalue : TYPE :,\
490
	EXP : unsigned :\
491
    ) STATEMENT NEW_ALIAS_type_stack #
492
#pragma interface NEW_ALIAS_type_stack
493
 
6 7u83 494
#pragma token PROC(EXP : TYPE :)\
2 7u83 495
    EXP : unsigned : GET_ALIAS_type_stack #
6 7u83 496
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 497
    EXP : void : SET_ALIAS_type_stack #
6 7u83 498
#pragma token PROC(EXP : unsigned :)\
2 7u83 499
    EXP : TYPE : FIND_ALIAS_type_stack #
500
 
501
#pragma interface GET_ALIAS_type_stack SET_ALIAS_type_stack FIND_ALIAS_type_stack
502
 
503
#endif
504
 
505
 
506
/* Operations for field vec of union TYPE */
507
 
508
#pragma token EXP const : unsigned : type_vec_tag #
6 7u83 509
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_vec #
2 7u83 510
#pragma interface type_vec_tag IS_type_vec
511
 
6 7u83 512
#pragma token PROC(EXP : TYPE :)\
513
    EXP : PTR(TYPE_P) : type_vec_sub #
2 7u83 514
#pragma interface type_vec_sub
515
 
6 7u83 516
#pragma token PROC(\
2 7u83 517
	EXP : zero_int :,\
518
	EXP : TYPE_P :,\
519
	EXP lvalue : TYPE :\
520
    ) STATEMENT MAKE_type_vec #
521
#pragma interface MAKE_type_vec
522
 
6 7u83 523
#pragma token PROC(\
2 7u83 524
	EXP lvalue : zero_int :,\
525
	EXP lvalue : TYPE_P :,\
526
	EXP : TYPE :\
527
    ) STATEMENT DECONS_type_vec #
528
#pragma interface DECONS_type_vec
529
 
6 7u83 530
#pragma token PROC(\
2 7u83 531
	EXP : DESTROYER :,\
532
	EXP lvalue : zero_int :,\
533
	EXP lvalue : TYPE_P :,\
534
	EXP : TYPE :\
535
    ) STATEMENT DESTROY_type_vec #
536
#pragma interface DESTROY_type_vec
537
 
538
#ifdef calculus_IO_ROUTINES
539
 
6 7u83 540
#pragma token PROC(\
2 7u83 541
	EXP lvalue : TYPE :,\
542
	EXP : unsigned :\
543
    ) STATEMENT NEW_ALIAS_type_vec #
544
#pragma interface NEW_ALIAS_type_vec
545
 
6 7u83 546
#pragma token PROC(EXP : TYPE :)\
2 7u83 547
    EXP : unsigned : GET_ALIAS_type_vec #
6 7u83 548
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 549
    EXP : void : SET_ALIAS_type_vec #
6 7u83 550
#pragma token PROC(EXP : unsigned :)\
2 7u83 551
    EXP : TYPE : FIND_ALIAS_type_vec #
552
 
553
#pragma interface GET_ALIAS_type_vec SET_ALIAS_type_vec FIND_ALIAS_type_vec
554
 
555
#endif
556
 
557
 
558
/* Operations for field vec_ptr of union TYPE */
559
 
560
#pragma token EXP const : unsigned : type_vec_ptr_tag #
6 7u83 561
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_vec_ptr #
2 7u83 562
#pragma interface type_vec_ptr_tag IS_type_vec_ptr
563
 
6 7u83 564
#pragma token PROC(EXP : TYPE :)\
565
    EXP : PTR(TYPE_P) : type_vec_ptr_sub #
2 7u83 566
#pragma interface type_vec_ptr_sub
567
 
6 7u83 568
#pragma token PROC(\
2 7u83 569
	EXP : zero_int :,\
570
	EXP : TYPE_P :,\
571
	EXP lvalue : TYPE :\
572
    ) STATEMENT MAKE_type_vec_ptr #
573
#pragma interface MAKE_type_vec_ptr
574
 
6 7u83 575
#pragma token PROC(\
2 7u83 576
	EXP lvalue : zero_int :,\
577
	EXP lvalue : TYPE_P :,\
578
	EXP : TYPE :\
579
    ) STATEMENT DECONS_type_vec_ptr #
580
#pragma interface DECONS_type_vec_ptr
581
 
6 7u83 582
#pragma token PROC(\
2 7u83 583
	EXP : DESTROYER :,\
584
	EXP lvalue : zero_int :,\
585
	EXP lvalue : TYPE_P :,\
586
	EXP : TYPE :\
587
    ) STATEMENT DESTROY_type_vec_ptr #
588
#pragma interface DESTROY_type_vec_ptr
589
 
590
#ifdef calculus_IO_ROUTINES
591
 
6 7u83 592
#pragma token PROC(\
2 7u83 593
	EXP lvalue : TYPE :,\
594
	EXP : unsigned :\
595
    ) STATEMENT NEW_ALIAS_type_vec_ptr #
596
#pragma interface NEW_ALIAS_type_vec_ptr
597
 
6 7u83 598
#pragma token PROC(EXP : TYPE :)\
2 7u83 599
    EXP : unsigned : GET_ALIAS_type_vec_ptr #
6 7u83 600
#pragma token PROC(EXP : TYPE :, EXP : unsigned :)\
2 7u83 601
    EXP : void : SET_ALIAS_type_vec_ptr #
6 7u83 602
#pragma token PROC(EXP : unsigned :)\
2 7u83 603
    EXP : TYPE : FIND_ALIAS_type_vec_ptr #
604
 
605
#pragma interface GET_ALIAS_type_vec_ptr SET_ALIAS_type_vec_ptr FIND_ALIAS_type_vec_ptr
606
 
607
#endif
608
 
609
 
610
/* Operations for field quote of union TYPE */
611
 
612
#pragma token EXP const : unsigned : type_quote_tag #
6 7u83 613
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_quote #
2 7u83 614
#pragma interface type_quote_tag IS_type_quote
615
 
6 7u83 616
#pragma token PROC(EXP : TYPE :)\
617
    EXP : PTR(string) : type_quote_defn #
2 7u83 618
#pragma interface type_quote_defn
619
 
6 7u83 620
#pragma token PROC(\
2 7u83 621
	EXP : zero_int :,\
622
	EXP : string :,\
623
	EXP lvalue : TYPE :\
624
    ) STATEMENT MAKE_type_quote #
625
#pragma interface MAKE_type_quote
626
 
6 7u83 627
#pragma token PROC(\
2 7u83 628
	EXP lvalue : zero_int :,\
629
	EXP lvalue : string :,\
630
	EXP : TYPE :\
631
    ) STATEMENT DECONS_type_quote #
632
#pragma interface DECONS_type_quote
633
 
6 7u83 634
#pragma token PROC(\
2 7u83 635
	EXP : DESTROYER :,\
636
	EXP lvalue : zero_int :,\
637
	EXP lvalue : string :,\
638
	EXP : TYPE :\
639
    ) STATEMENT DESTROY_type_quote #
640
#pragma interface DESTROY_type_quote
641
 
642
 
643
/* Operations for field undef of union TYPE */
644
 
645
#pragma token EXP const : unsigned : type_undef_tag #
6 7u83 646
#pragma token PROC(EXP : TYPE :) EXP : int : IS_type_undef #
2 7u83 647
#pragma interface type_undef_tag IS_type_undef
648
 
6 7u83 649
#pragma token PROC(EXP : TYPE :)\
650
    EXP : PTR(string) : type_undef_name #
2 7u83 651
#pragma interface type_undef_name
652
 
6 7u83 653
#pragma token PROC(\
2 7u83 654
	EXP : zero_int :,\
655
	EXP : string :,\
656
	EXP lvalue : TYPE :\
657
    ) STATEMENT MAKE_type_undef #
658
#pragma interface MAKE_type_undef
659
 
6 7u83 660
#pragma token PROC(\
2 7u83 661
	EXP lvalue : zero_int :,\
662
	EXP lvalue : string :,\
663
	EXP : TYPE :\
664
    ) STATEMENT DECONS_type_undef #
665
#pragma interface DECONS_type_undef
666
 
6 7u83 667
#pragma token PROC(\
2 7u83 668
	EXP : DESTROYER :,\
669
	EXP lvalue : zero_int :,\
670
	EXP lvalue : string :,\
671
	EXP : TYPE :\
672
    ) STATEMENT DESTROY_type_undef #
673
#pragma interface DESTROY_type_undef
674
 
675
 
676
#endif