Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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