Warning: Undefined variable $n in /usr/local/www/websvn.planix.org/include/diff_util.php on line 243

Warning: Undefined variable $n in /usr/local/www/websvn.planix.org/include/diff_util.php on line 247

Warning: Undefined variable $m in /usr/local/www/websvn.planix.org/include/diff_util.php on line 251
WebSVN – tendra.SVN – Diff – /trunk/src/tools/tspec/syntax.c – Rev 2 and 7

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 1... Line 1...
1
/*
1
/*
2
 * Automatically generated from the files:
2
 * Automatically generated from the files:
3
 *	/u/g/release/Source/src/tools/tspec/syntax.sid
3
 *	syntax.sid
4
 * and
4
 * and
5
 *	/u/g/release/Source/src/tools/tspec/syntax.act
5
 *	syntax.act
6
 * by:
6
 * by:
7
 *	sid
7
 *	sid
8
 */
8
 */
9
 
9
 
10
/* BEGINNING OF HEADER */
10
/* BEGINNING OF HEADER */
Line 106... Line 106...
106
 
106
 
107
 
107
 
108
 
108
 
109
/* BEGINNING OF FUNCTION DECLARATIONS */
109
/* BEGINNING OF FUNCTION DECLARATIONS */
110
 
110
 
111
static void ZRsimple_Htype PROTO_S ((SID_TYPE *));
111
static void ZRsimple_Htype(SID_TYPE *);
112
static void ZRparameter_Hdeclaration PROTO_S ((SID_TYPE *));
112
static void ZRparameter_Hdeclaration(SID_TYPE *);
113
static void ZRnat_Hdeclarator_Hlist PROTO_S ((SID_COMMAND *));
113
static void ZRnat_Hdeclarator_Hlist(SID_COMMAND *);
114
static void ZRtype_Hdeclarator_Hlist PROTO_S ((SID_COMMAND *));
114
static void ZRtype_Hdeclarator_Hlist(SID_COMMAND *);
115
static void ZRfunction_Hoperator PROTO_S ((SID_TYPE *));
115
static void ZRfunction_Hoperator(SID_TYPE *);
116
static void ZRexp_Hdeclarator_Hlist PROTO_S ((int, SID_TYPE, int, SID_COMMAND *));
116
static void ZRexp_Hdeclarator_Hlist(int, SID_TYPE, int, SID_COMMAND *);
117
static void ZRsubset_Hkey PROTO_S ((SID_STRING *));
117
static void ZRsubset_Hkey(SID_STRING *);
118
static void ZRmacro_Hparam_Hdeclaration PROTO_S ((SID_TYPE *));
118
static void ZRmacro_Hparam_Hdeclaration(SID_TYPE *);
119
static void ZRifdef_Hmacro_Hname PROTO_S ((SID_STRING *));
119
static void ZRifdef_Hmacro_Hname(SID_STRING *);
120
static void ZR285 PROTO_S ((SID_TYPE *));
120
static void ZRdefine_Hparam_Hlist(SID_STRING *);
121
static void ZRdefine_Hparam_Hlist PROTO_S ((SID_STRING *));
121
static void ZR287(SID_TYPE *);
122
static void ZRdeclarator PROTO_S ((SID_IDENTIFIER *, SID_TYPE *));
122
static void ZRdeclarator(SID_IDENTIFIER *, SID_TYPE *);
123
static void ZRidentifier PROTO_S ((SID_IDENTIFIER *));
123
static void ZRidentifier(SID_IDENTIFIER *);
124
static void ZRsubset_Hcommand PROTO_S ((SID_COMMAND *));
124
static void ZRsubset_Hcommand(SID_COMMAND *);
125
static void ZRqualified_Htype PROTO_S ((SID_TYPE *));
125
static void ZRqualified_Htype(SID_TYPE *);
126
static void ZRabstract_Hdeclarator PROTO_S ((SID_STRING *, SID_TYPE *));
126
static void ZRabstract_Hdeclarator(SID_STRING *, SID_TYPE *);
127
static void ZR306 PROTO_S ((SID_STRING, SID_TYPE, SID_STRING *, SID_TYPE *));
127
static void ZRparameter_Hlist(SID_TYPE *);
128
static void ZRparameter_Hlist PROTO_S ((SID_TYPE *));
128
static void ZRinternal_Hname(SID_STRING *, int *);
129
static void ZRinternal_Hname PROTO_S ((SID_STRING *, int *));
129
static void ZR308(SID_STRING, SID_TYPE, SID_STRING *, SID_TYPE *);
130
static void ZRmacro_Hoperator PROTO_S ((SID_TYPE *));
130
static void ZRmacro_Hoperator(SID_TYPE *);
131
static void ZRenumerator_Hlist PROTO_S ((SID_COMMAND *));
131
static void ZRenumerator_Hlist(SID_COMMAND *);
132
static void ZRexternal_Hname PROTO_S ((SID_STRING *, int *));
132
static void ZRexternal_Hname(SID_STRING *, int *);
133
static void ZRtype_Hqualifier PROTO_S ((unsigned *));
133
static void ZRtype_Hqualifier(unsigned *);
134
static void ZR316 PROTO_S ((SID_IDENTIFIER, SID_TYPE, SID_IDENTIFIER *, SID_TYPE *));
-
 
135
static void ZRtype_Hkey PROTO_S ((int *));
134
static void ZRtype_Hkey(int *);
136
static void ZRtype_Hqualifier_Hopt PROTO_S ((unsigned *));
135
static void ZRtype_Hqualifier_Hopt(unsigned *);
137
static void ZRconstant_Hvalue PROTO_S ((SID_STRING *));
136
static void ZRconstant_Hvalue(SID_STRING *);
138
static void ZR318 PROTO_S ((SID_STRING *, SID_STRING *));
137
static void ZR318(SID_IDENTIFIER, SID_TYPE, SID_IDENTIFIER *, SID_TYPE *);
139
static void ZRspec_Hcommand PROTO_S ((SID_COMMAND *));
138
static void ZRspec_Hcommand(SID_COMMAND *);
140
static void ZR319 PROTO_S ((SID_STRING *, SID_STRING *, SID_STRING *));
-
 
141
static void ZRfunc_Hcommand PROTO_S ((int *));
139
static void ZRfunc_Hcommand(int *);
142
static void ZR320 PROTO_S ((SID_COMMAND *));
140
static void ZR320(SID_STRING *, SID_STRING *);
143
static void ZR321 PROTO_S ((int *, SID_COMMAND *));
141
static void ZR321(SID_STRING *, SID_STRING *, SID_STRING *);
144
static void ZRarray_Hoperator PROTO_S ((SID_TYPE *));
142
static void ZRarray_Hoperator(SID_TYPE *);
145
static void ZR322 PROTO_S ((SID_STRING *, int *, SID_IDENTIFIER *));
143
static void ZR322(SID_COMMAND *);
146
static void ZR323 PROTO_S ((SID_STRING *));
144
static void ZR323(int *, SID_COMMAND *);
147
static void ZRmacro_Hparam_Hlist PROTO_S ((SID_TYPE *));
145
static void ZRmacro_Hparam_Hlist(SID_TYPE *);
148
static void ZR326 PROTO_S ((SID_STRING *, SID_STRING *));
146
static void ZR324(SID_STRING *, int *, SID_IDENTIFIER *);
149
static void ZR327 PROTO_S ((int *));
147
static void ZR325(SID_STRING *);
150
static void ZR328 PROTO_S ((int *));
148
static void ZR328(SID_STRING *, SID_STRING *);
151
static void ZRenum_Hcommand PROTO_S ((int *));
149
static void ZRenum_Hcommand(int *);
152
static void ZRenumerator PROTO_S ((SID_COMMAND *));
150
static void ZRenumerator(SID_COMMAND *);
-
 
151
static void ZR329(int *);
153
static void ZRfield_Hdeclarator_Hlist PROTO_S ((SID_TYPE, SID_TYPE, SID_COMMAND *));
152
static void ZRfield_Hdeclarator_Hlist(SID_TYPE, SID_TYPE, SID_COMMAND *);
154
static void ZR331 PROTO_S ((SID_TYPE *, SID_TYPE *));
153
static void ZR330(int *);
155
static void ZRfield_Hexact PROTO_S ((int *));
154
static void ZRfield_Hexact(int *);
156
static void ZR333 PROTO_S ((SID_TYPE *));
155
static void ZR333(SID_TYPE *, SID_TYPE *);
-
 
156
static void ZR335(SID_TYPE *);
157
static void ZRcommand_Hlist PROTO_S ((SID_COMMAND *));
157
static void ZRcommand_Hlist(SID_COMMAND *);
158
static void ZR336 PROTO_S ((SID_STRING *, SID_TYPE *, SID_STRING *, SID_TYPE *));
158
static void ZR338(SID_STRING *, SID_TYPE *, SID_STRING *, SID_TYPE *);
159
static void ZR337 PROTO_S ((SID_TYPE *));
159
static void ZR339(SID_TYPE *);
160
static void ZR338 PROTO_S ((int *));
160
static void ZR340(int *);
161
static void ZRdirect_Hdeclarator PROTO_S ((SID_IDENTIFIER *, SID_TYPE *));
161
static void ZRdirect_Hdeclarator(SID_IDENTIFIER *, SID_TYPE *);
162
static void ZRtype_Hcommand PROTO_S ((int *));
162
static void ZRtype_Hcommand(int *);
163
static void ZRtext_Hcommand PROTO_S ((SID_COMMAND *));
163
static void ZRtext_Hcommand(SID_COMMAND *);
164
static void ZR345 PROTO_S ((SID_IDENTIFIER *, SID_IDENTIFIER *, SID_TYPE *));
164
static void ZR347(SID_IDENTIFIER *, SID_IDENTIFIER *, SID_TYPE *);
165
static void ZR346 PROTO_S ((int *));
165
static void ZRname_Hversion(int *);
166
static void ZR347 PROTO_S ((int *));
166
static void ZR348(int *);
167
static void ZRname_Hversion PROTO_S ((int *));
-
 
168
static void ZR348 PROTO_S ((SID_TYPE *));
-
 
169
static void ZRdirect_Habstract_Hdeclarator PROTO_S ((SID_STRING *, SID_TYPE *));
167
static void ZRdirect_Habstract_Hdeclarator(SID_STRING *, SID_TYPE *);
170
static void ZRfield_Hdeclarator PROTO_S ((SID_IDENTIFIER *, SID_TYPE *));
168
static void ZRfield_Hdeclarator(SID_IDENTIFIER *, SID_TYPE *);
171
static void ZRvariable_Hcommand PROTO_S ((void));
169
static void ZRvariable_Hcommand(void);
172
static void ZR349 PROTO_S ((SID_STRING *));
170
static void ZR349(int *);
173
static void ZR350 PROTO_S ((SID_STRING *));
171
static void ZR350(SID_TYPE *);
174
static void ZR351 PROTO_S ((SID_STRING *));
172
static void ZR351(SID_STRING *);
175
static void ZRdefine_Hparam_Hclause PROTO_S ((SID_STRING *));
173
static void ZRdefine_Hparam_Hclause(SID_STRING *);
176
static void ZRexp_Hcommand PROTO_S ((int *));
174
static void ZRexp_Hcommand(int *);
177
static void ZR352 PROTO_S ((SID_STRING *));
175
static void ZR352(SID_STRING *);
178
static void ZRif_Hcommand PROTO_S ((SID_COMMAND *, SID_STRING *));
176
static void ZRif_Hcommand(SID_COMMAND *, SID_STRING *);
-
 
177
static void ZR353(SID_STRING *);
-
 
178
static void ZR354(SID_STRING *);
179
static void ZRbitfield_Hoperator PROTO_S ((SID_TYPE *));
179
static void ZRbitfield_Hoperator(SID_TYPE *);
180
static void ZRuse_Hsubset_Hname PROTO_S ((SID_STRING *));
180
static void ZRuse_Hsubset_Hname(SID_STRING *);
181
extern void read_spec PROTO_S ((SID_COMMAND *));
181
extern void read_spec(SID_COMMAND *);
182
static void ZRmacro_Hdeclarator PROTO_S ((SID_IDENTIFIER *, SID_TYPE *));
182
static void ZRmacro_Hdeclarator(SID_IDENTIFIER *, SID_TYPE *);
183
static void ZRsubset_Hname PROTO_S ((SID_STRING *));
183
static void ZRsubset_Hname(SID_STRING *);
184
static void ZRbuiltin_Htype PROTO_S ((unsigned *));
184
static void ZRbuiltin_Htype(unsigned *);
185
static void ZRobject_Hqualifier PROTO_S ((int *));
185
static void ZRobject_Hqualifier(int *);
186
static void ZRfield_Hlist PROTO_S ((SID_TYPE, SID_COMMAND *));
186
static void ZRfield_Hlist(SID_TYPE, SID_COMMAND *);
187
static void ZRptr_Hoperator PROTO_S ((SID_TYPE *));
187
static void ZRptr_Hoperator(SID_TYPE *);
188
static void ZRtype_Hkeyword PROTO_S ((unsigned *));
188
static void ZRtype_Hkeyword(unsigned *);
189
 
189
 
190
/* BEGINNING OF STATIC VARIABLES */
190
/* BEGINNING OF STATIC VARIABLES */
191
 
191
 
192
 
192
 
193
/* BEGINNING OF FUNCTION DEFINITIONS */
193
/* BEGINNING OF FUNCTION DEFINITIONS */
194
 
194
 
195
static void
195
static void
196
ZRsimple_Htype PROTO_N ((ZOt))
196
ZRsimple_Htype(SID_TYPE *ZOt)
197
  PROTO_T (SID_TYPE *ZOt)
-
 
198
{
197
{
199
    SID_TYPE ZIt;
198
    SID_TYPE ZIt;
200
 
199
 
201
    switch (CURRENT_TERMINAL) {
200
    switch (CURRENT_TERMINAL) {
202
      case 31: case 33: case 36: case 37: case 38:
201
      case 32: case 34: case 37: case 38: case 39:
203
      case 41: case 42: case 45: case 46:
202
      case 42: case 43: case 46: case 47:
204
	{
203
	{
205
	    unsigned ZIb;
204
	    unsigned ZIb;
206
 
205
 
207
	    ZRbuiltin_Htype (&ZIb);
206
	    ZRbuiltin_Htype (&ZIb);
208
	    if ((CURRENT_TERMINAL) == 74) {
207
	    if ((CURRENT_TERMINAL) == 75) {
209
		RESTORE_LEXER;
208
		RESTORE_LEXER;
210
		goto ZL1;
209
		goto ZL1;
211
	    }
210
	    }
212
	    {
211
	    {
213
 
212
 
214
    (ZIt) = basic_type ( (ZIb) ) ;
213
    (ZIt) = basic_type ( (ZIb) ) ;
215
	    }
214
	    }
216
	}
215
	}
217
	break;
216
	break;
218
      case 0: case 34: case 43: case 44:
217
      case 0: case 35: case 44: case 45:
219
	{
218
	{
220
	    int ZItag;
219
	    int ZItag;
221
	    SID_STRING ZInm;
220
	    SID_STRING ZInm;
222
 
221
 
223
	    ZRtype_Hkey (&ZItag);
222
	    ZRtype_Hkey (&ZItag);
Line 225... Line 224...
225
	      case 0:
224
	      case 0:
226
		{
225
		{
227
 ZInm = token_value ; 
226
 ZInm = token_value ; 
228
		}
227
		}
229
		break;
228
		break;
230
	      case 74:
229
	      case 75:
231
		RESTORE_LEXER;
230
		RESTORE_LEXER;
232
		goto ZL1;
231
		goto ZL1;
233
	      default:
232
	      default:
234
		goto ZL1;
233
		goto ZL1;
235
	    }
234
	    }
Line 238... Line 237...
238
 
237
 
239
    (ZIt) = find_type ( (ZInm), any_version, (ZItag), 1 ) ;
238
    (ZIt) = find_type ( (ZInm), any_version, (ZItag), 1 ) ;
240
	    }
239
	    }
241
	}
240
	}
242
	break;
241
	break;
243
      case 74:
242
      case 75:
244
	return;
243
	return;
245
      default:
244
      default:
246
	goto ZL1;
245
	goto ZL1;
247
    }
246
    }
248
    goto ZL0;
247
    goto ZL0;
249
  ZL1:;
248
  ZL1:;
250
    SAVE_LEXER (74);
249
    SAVE_LEXER (75);
251
    return;
250
    return;
252
  ZL0:;
251
  ZL0:;
253
    *ZOt = ZIt;
252
    *ZOt = ZIt;
254
}
253
}
255
 
254
 
256
static void
255
static void
257
ZRparameter_Hdeclaration PROTO_N ((ZOt))
256
ZRparameter_Hdeclaration(SID_TYPE *ZOt)
258
  PROTO_T (SID_TYPE *ZOt)
-
 
259
{
257
{
260
    SID_TYPE ZIt;
258
    SID_TYPE ZIt;
261
 
259
 
262
    if ((CURRENT_TERMINAL) == 74) {
260
    if ((CURRENT_TERMINAL) == 75) {
263
	return;
261
	return;
264
    }
262
    }
265
    {
263
    {
266
	SID_TYPE ZIs;
264
	SID_TYPE ZIs;
267
	SID_STRING ZInm;
265
	SID_STRING ZInm;
268
	SID_TYPE ZIp;
266
	SID_TYPE ZIp;
269
 
267
 
270
	ZRqualified_Htype (&ZIs);
268
	ZRqualified_Htype (&ZIs);
271
	ZRabstract_Hdeclarator (&ZInm, &ZIp);
269
	ZRabstract_Hdeclarator (&ZInm, &ZIp);
272
	if ((CURRENT_TERMINAL) == 74) {
270
	if ((CURRENT_TERMINAL) == 75) {
273
	    RESTORE_LEXER;
271
	    RESTORE_LEXER;
274
	    goto ZL1;
272
	    goto ZL1;
275
	}
273
	}
276
	{
274
	{
277
 
275
 
Line 282... Line 280...
282
    UNUSED ( (ZInm) ) ;
280
    UNUSED ( (ZInm) ) ;
283
	}
281
	}
284
    }
282
    }
285
    goto ZL0;
283
    goto ZL0;
286
  ZL1:;
284
  ZL1:;
287
    SAVE_LEXER (74);
285
    SAVE_LEXER (75);
288
    return;
286
    return;
289
  ZL0:;
287
  ZL0:;
290
    *ZOt = ZIt;
288
    *ZOt = ZIt;
291
}
289
}
292
 
290
 
293
static void
291
static void
294
ZRnat_Hdeclarator_Hlist PROTO_N ((ZOc))
292
ZRnat_Hdeclarator_Hlist(SID_COMMAND *ZOc)
295
  PROTO_T (SID_COMMAND *ZOc)
-
 
296
{
293
{
297
    SID_COMMAND ZIc;
294
    SID_COMMAND ZIc;
298
 
295
 
299
    if ((CURRENT_TERMINAL) == 74) {
296
    if ((CURRENT_TERMINAL) == 75) {
300
	return;
297
	return;
301
    }
298
    }
302
    {
299
    {
303
	SID_IDENTIFIER ZIid;
300
	SID_IDENTIFIER ZIid;
304
	SID_COMMAND ZIa;
301
	SID_COMMAND ZIa;
305
	SID_COMMAND ZIb;
302
	SID_COMMAND ZIb;
306
 
303
 
307
	ZRidentifier (&ZIid);
304
	ZRidentifier (&ZIid);
308
	if ((CURRENT_TERMINAL) == 74) {
305
	if ((CURRENT_TERMINAL) == 75) {
309
	    RESTORE_LEXER;
306
	    RESTORE_LEXER;
310
	    goto ZL1;
307
	    goto ZL1;
311
	}
308
	}
312
	{
309
	{
313
 
310
 
314
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_NAT ) ;
311
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_NAT ) ;
315
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, p, OBJ_NAT ) ;
312
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, p, OBJ_NAT ) ;
316
	}
313
	}
317
	{
314
	{
318
	    switch (CURRENT_TERMINAL) {
315
	    switch (CURRENT_TERMINAL) {
319
	      case 61:
316
	      case 62:
320
		{
317
		{
321
		    ADVANCE_LEXER;
318
		    ADVANCE_LEXER;
322
		    ZRnat_Hdeclarator_Hlist (&ZIb);
319
		    ZRnat_Hdeclarator_Hlist (&ZIb);
323
		    if ((CURRENT_TERMINAL) == 74) {
320
		    if ((CURRENT_TERMINAL) == 75) {
324
			RESTORE_LEXER;
321
			RESTORE_LEXER;
325
			goto ZL1;
322
			goto ZL1;
326
		    }
323
		    }
327
		}
324
		}
328
		break;
325
		break;
Line 341... Line 338...
341
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
338
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
342
	}
339
	}
343
    }
340
    }
344
    goto ZL0;
341
    goto ZL0;
345
  ZL1:;
342
  ZL1:;
346
    SAVE_LEXER (74);
343
    SAVE_LEXER (75);
347
    return;
344
    return;
348
  ZL0:;
345
  ZL0:;
349
    *ZOc = ZIc;
346
    *ZOc = ZIc;
350
}
347
}
351
 
348
 
352
static void
349
static void
353
ZRtype_Hdeclarator_Hlist PROTO_N ((ZOc))
350
ZRtype_Hdeclarator_Hlist(SID_COMMAND *ZOc)
354
  PROTO_T (SID_COMMAND *ZOc)
-
 
355
{
351
{
356
    SID_COMMAND ZIc;
352
    SID_COMMAND ZIc;
357
 
353
 
358
    if ((CURRENT_TERMINAL) == 74) {
354
    if ((CURRENT_TERMINAL) == 75) {
359
	return;
355
	return;
360
    }
356
    }
361
    {
357
    {
362
	int ZItag;
358
	int ZItag;
363
	SID_IDENTIFIER ZIid;
359
	SID_IDENTIFIER ZIid;
364
	SID_COMMAND ZIa;
360
	SID_COMMAND ZIa;
365
	SID_COMMAND ZIb;
361
	SID_COMMAND ZIb;
366
 
362
 
367
	ZRtype_Hcommand (&ZItag);
363
	ZRtype_Hcommand (&ZItag);
368
	ZRidentifier (&ZIid);
364
	ZRidentifier (&ZIid);
369
	if ((CURRENT_TERMINAL) == 74) {
365
	if ((CURRENT_TERMINAL) == 75) {
370
	    RESTORE_LEXER;
366
	    RESTORE_LEXER;
371
	    goto ZL1;
367
	    goto ZL1;
372
	}
368
	}
373
	{
369
	{
374
 
370
 
375
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, (ZItag) ) ;
371
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, (ZItag) ) ;
376
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_TYPE ) ;
372
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_TYPE ) ;
377
	}
373
	}
378
	{
374
	{
379
	    switch (CURRENT_TERMINAL) {
375
	    switch (CURRENT_TERMINAL) {
380
	      case 61:
376
	      case 62:
381
		{
377
		{
382
		    ADVANCE_LEXER;
378
		    ADVANCE_LEXER;
383
		    ZRtype_Hdeclarator_Hlist (&ZIb);
379
		    ZRtype_Hdeclarator_Hlist (&ZIb);
384
		    if ((CURRENT_TERMINAL) == 74) {
380
		    if ((CURRENT_TERMINAL) == 75) {
385
			RESTORE_LEXER;
381
			RESTORE_LEXER;
386
			goto ZL1;
382
			goto ZL1;
387
		    }
383
		    }
388
		}
384
		}
389
		break;
385
		break;
Line 402... Line 398...
402
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
398
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
403
	}
399
	}
404
    }
400
    }
405
    goto ZL0;
401
    goto ZL0;
406
  ZL1:;
402
  ZL1:;
407
    SAVE_LEXER (74);
403
    SAVE_LEXER (75);
408
    return;
404
    return;
409
  ZL0:;
405
  ZL0:;
410
    *ZOc = ZIc;
406
    *ZOc = ZIc;
411
}
407
}
412
 
408
 
413
static void
409
static void
414
ZRfunction_Hoperator PROTO_N ((ZOt))
410
ZRfunction_Hoperator(SID_TYPE *ZOt)
415
  PROTO_T (SID_TYPE *ZOt)
-
 
416
{
411
{
417
    SID_TYPE ZIt;
412
    SID_TYPE ZIt;
418
 
413
 
419
    if ((CURRENT_TERMINAL) == 74) {
414
    if ((CURRENT_TERMINAL) == 75) {
420
	return;
415
	return;
421
    }
416
    }
422
    {
417
    {
423
	switch (CURRENT_TERMINAL) {
418
	switch (CURRENT_TERMINAL) {
424
	  case 55:
419
	  case 56:
425
	    break;
420
	    break;
426
	  default:
421
	  default:
427
	    goto ZL1;
422
	    goto ZL1;
428
	}
423
	}
429
	ADVANCE_LEXER;
424
	ADVANCE_LEXER;
430
	ZR333 (&ZIt);
425
	ZR335 (&ZIt);
431
	if ((CURRENT_TERMINAL) == 74) {
426
	if ((CURRENT_TERMINAL) == 75) {
432
	    RESTORE_LEXER;
427
	    RESTORE_LEXER;
433
	    goto ZL1;
428
	    goto ZL1;
434
	}
429
	}
435
    }
430
    }
436
    goto ZL0;
431
    goto ZL0;
437
  ZL1:;
432
  ZL1:;
438
    SAVE_LEXER (74);
433
    SAVE_LEXER (75);
439
    return;
434
    return;
440
  ZL0:;
435
  ZL0:;
441
    *ZOt = ZIt;
436
    *ZOt = ZIt;
442
}
437
}
443
 
438
 
444
static void
439
static void
445
ZRexp_Hdeclarator_Hlist PROTO_N ((ZIcmd, ZIs, ZIlv, ZOc))
-
 
446
  PROTO_T (int ZIcmd X SID_TYPE ZIs X int ZIlv X SID_COMMAND *ZOc)
440
ZRexp_Hdeclarator_Hlist(int ZIcmd, SID_TYPE ZIs, int ZIlv, SID_COMMAND *ZOc)
447
{
441
{
448
    SID_COMMAND ZIc;
442
    SID_COMMAND ZIc;
449
 
443
 
450
    if ((CURRENT_TERMINAL) == 74) {
444
    if ((CURRENT_TERMINAL) == 75) {
451
	return;
445
	return;
452
    }
446
    }
453
    {
447
    {
454
	SID_IDENTIFIER ZIid;
448
	SID_IDENTIFIER ZIid;
455
	SID_TYPE ZIp;
449
	SID_TYPE ZIp;
Line 457... Line 451...
457
	SID_TYPE ZIt;
451
	SID_TYPE ZIt;
458
	SID_COMMAND ZIa;
452
	SID_COMMAND ZIa;
459
	SID_COMMAND ZIb;
453
	SID_COMMAND ZIb;
460
 
454
 
461
	ZRdeclarator (&ZIid, &ZIp);
455
	ZRdeclarator (&ZIid, &ZIp);
462
	if ((CURRENT_TERMINAL) == 74) {
456
	if ((CURRENT_TERMINAL) == 75) {
463
	    RESTORE_LEXER;
457
	    RESTORE_LEXER;
464
	    goto ZL1;
458
	    goto ZL1;
465
	}
459
	}
466
	{
460
	{
467
 
461
 
468
    (ZIu) = inject_type ( (ZIp), (ZIs) ) ;
462
    (ZIu) = inject_type ( (ZIp), (ZIs) ) ;
469
	}
463
	}
470
	{
464
	{
Line 477... Line 471...
477
    p->u.u_type = check_type ( (ZIt), (ZIcmd) ) ;
471
    p->u.u_type = check_type ( (ZIt), (ZIcmd) ) ;
478
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, p, (ZIcmd) ) ;
472
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, p, (ZIcmd) ) ;
479
	}
473
	}
480
	{
474
	{
481
	    switch (CURRENT_TERMINAL) {
475
	    switch (CURRENT_TERMINAL) {
482
	      case 61:
476
	      case 62:
483
		{
477
		{
484
		    ADVANCE_LEXER;
478
		    ADVANCE_LEXER;
485
		    ZRexp_Hdeclarator_Hlist (ZIcmd, ZIs, ZIlv, &ZIb);
479
		    ZRexp_Hdeclarator_Hlist (ZIcmd, ZIs, ZIlv, &ZIb);
486
		    if ((CURRENT_TERMINAL) == 74) {
480
		    if ((CURRENT_TERMINAL) == 75) {
487
			RESTORE_LEXER;
481
			RESTORE_LEXER;
488
			goto ZL1;
482
			goto ZL1;
489
		    }
483
		    }
490
		}
484
		}
491
		break;
485
		break;
492
	      default:
486
	      default:
493
		{
487
		{
494
		    {
488
		    {
495
 
489
 
496
    (ZIb) = null ;
490
    (ZIb) = null ;
497
		    }
491
		    }
498
		}
492
		}
499
		break;
493
		break;
500
	    }
494
	    }
501
	}
495
	}
502
	{
496
	{
503
 
497
 
504
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
498
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
505
	}
499
	}
506
    }
500
    }
507
    goto ZL0;
501
    goto ZL0;
508
  ZL1:;
502
  ZL1:;
509
    SAVE_LEXER (74);
503
    SAVE_LEXER (75);
510
    return;
504
    return;
511
  ZL0:;
505
  ZL0:;
512
    *ZOc = ZIc;
506
    *ZOc = ZIc;
513
}
507
}
514
 
508
 
515
static void
509
static void
516
ZRsubset_Hkey PROTO_N ((ZOkey))
510
ZRsubset_Hkey(SID_STRING *ZOkey)
517
  PROTO_T (SID_STRING *ZOkey)
-
 
518
{
511
{
519
    SID_STRING ZIkey;
512
    SID_STRING ZIkey;
520
 
513
 
521
    switch (CURRENT_TERMINAL) {
514
    switch (CURRENT_TERMINAL) {
522
      case 55:
515
      case 56:
523
	{
516
	{
524
	    ADVANCE_LEXER;
517
	    ADVANCE_LEXER;
525
	    ZR349 (&ZIkey);
518
	    ZR351 (&ZIkey);
526
	    if ((CURRENT_TERMINAL) == 74) {
519
	    if ((CURRENT_TERMINAL) == 75) {
527
		RESTORE_LEXER;
520
		RESTORE_LEXER;
528
		goto ZL1;
521
		goto ZL1;
529
	    }
522
	    }
530
	}
523
	}
531
	break;
524
	break;
Line 534... Line 527...
534
	    {
527
	    {
535
 (ZIkey) = "11" ; 
528
 (ZIkey) = "11" ; 
536
	    }
529
	    }
537
	}
530
	}
538
	break;
531
	break;
539
      case 74:
532
      case 75:
540
	return;
533
	return;
541
    }
534
    }
542
    goto ZL0;
535
    goto ZL0;
543
  ZL1:;
536
  ZL1:;
544
    SAVE_LEXER (74);
537
    SAVE_LEXER (75);
545
    return;
538
    return;
546
  ZL0:;
539
  ZL0:;
547
    *ZOkey = ZIkey;
540
    *ZOkey = ZIkey;
548
}
541
}
549
 
542
 
550
static void
543
static void
551
ZRmacro_Hparam_Hdeclaration PROTO_N ((ZOt))
544
ZRmacro_Hparam_Hdeclaration(SID_TYPE *ZOt)
552
  PROTO_T (SID_TYPE *ZOt)
-
 
553
{
545
{
554
    SID_TYPE ZIt;
546
    SID_TYPE ZIt;
555
 
547
 
556
    if ((CURRENT_TERMINAL) == 74) {
548
    if ((CURRENT_TERMINAL) == 75) {
557
	return;
549
	return;
558
    }
550
    }
559
    {
551
    {
560
	int ZIlv;
552
	int ZIlv;
561
	SID_TYPE ZIs;
553
	SID_TYPE ZIs;
Line 564... Line 556...
564
	SID_TYPE ZIu;
556
	SID_TYPE ZIu;
565
 
557
 
566
	ZRobject_Hqualifier (&ZIlv);
558
	ZRobject_Hqualifier (&ZIlv);
567
	ZRqualified_Htype (&ZIs);
559
	ZRqualified_Htype (&ZIs);
568
	ZRabstract_Hdeclarator (&ZInm, &ZIp);
560
	ZRabstract_Hdeclarator (&ZInm, &ZIp);
569
	if ((CURRENT_TERMINAL) == 74) {
561
	if ((CURRENT_TERMINAL) == 75) {
570
	    RESTORE_LEXER;
562
	    RESTORE_LEXER;
571
	    goto ZL1;
563
	    goto ZL1;
572
	}
564
	}
573
	{
565
	{
574
 
566
 
Line 583... Line 575...
583
    UNUSED ( (ZInm) ) ;
575
    UNUSED ( (ZInm) ) ;
584
	}
576
	}
585
    }
577
    }
586
    goto ZL0;
578
    goto ZL0;
587
  ZL1:;
579
  ZL1:;
588
    SAVE_LEXER (74);
580
    SAVE_LEXER (75);
589
    return;
581
    return;
590
  ZL0:;
582
  ZL0:;
591
    *ZOt = ZIt;
583
    *ZOt = ZIt;
592
}
584
}
593
 
585
 
594
static void
586
static void
595
ZRifdef_Hmacro_Hname PROTO_N ((ZOc))
587
ZRifdef_Hmacro_Hname(SID_STRING *ZOc)
596
  PROTO_T (SID_STRING *ZOc)
-
 
597
{
588
{
598
    SID_STRING ZIc;
589
    SID_STRING ZIc;
599
 
590
 
600
    switch (CURRENT_TERMINAL) {
591
    switch (CURRENT_TERMINAL) {
601
      case 49:
592
      case 50:
602
	{
593
	{
603
	    ADVANCE_LEXER;
594
	    ADVANCE_LEXER;
604
	    {
595
	    {
605
 
596
 
606
    (ZIc) = BUILDING_MACRO ;
597
    (ZIc) = BUILDING_MACRO ;
607
	    }
598
	    }
608
	}
599
	}
609
	break;
600
	break;
610
      case 0:
601
      case 0:
611
	{
602
	{
612
	    {
603
	    {
613
 ZIc = token_value ; 
604
 ZIc = token_value ; 
614
	    }
605
	    }
615
	    ADVANCE_LEXER;
606
	    ADVANCE_LEXER;
616
	}
607
	}
617
	break;
608
	break;
618
      case 51:
609
      case 52:
619
	{
610
	{
620
	    SID_STRING ZIa;
611
	    SID_STRING ZIa;
621
	    SID_STRING ZIb;
612
	    SID_STRING ZIb;
622
 
613
 
623
	    ADVANCE_LEXER;
614
	    ADVANCE_LEXER;
624
	    switch (CURRENT_TERMINAL) {
615
	    switch (CURRENT_TERMINAL) {
625
	      case 55:
616
	      case 56:
626
		break;
617
		break;
627
	      default:
618
	      default:
628
		goto ZL1;
619
		goto ZL1;
629
	    }
620
	    }
630
	    ADVANCE_LEXER;
621
	    ADVANCE_LEXER;
631
	    switch (CURRENT_TERMINAL) {
622
	    switch (CURRENT_TERMINAL) {
632
	      case 2:
623
	      case 2:
633
		{
624
		{
634
 ZIa = token_value ; 
625
 ZIa = token_value ; 
635
		}
626
		}
636
		break;
627
		break;
637
	      default:
628
	      default:
638
		goto ZL1;
629
		goto ZL1;
639
	    }
630
	    }
640
	    ADVANCE_LEXER;
631
	    ADVANCE_LEXER;
641
	    switch (CURRENT_TERMINAL) {
632
	    switch (CURRENT_TERMINAL) {
642
	      case 61:
633
	      case 62:
643
		break;
634
		break;
644
	      default:
635
	      default:
645
		goto ZL1;
636
		goto ZL1;
646
	    }
637
	    }
647
	    ADVANCE_LEXER;
638
	    ADVANCE_LEXER;
648
	    switch (CURRENT_TERMINAL) {
639
	    switch (CURRENT_TERMINAL) {
649
	      case 2:
640
	      case 2:
Line 654... Line 645...
654
	      default:
645
	      default:
655
		goto ZL1;
646
		goto ZL1;
656
	    }
647
	    }
657
	    ADVANCE_LEXER;
648
	    ADVANCE_LEXER;
658
	    switch (CURRENT_TERMINAL) {
649
	    switch (CURRENT_TERMINAL) {
659
	      case 56:
650
	      case 57:
660
		break;
651
		break;
661
	      default:
652
	      default:
662
		goto ZL1;
653
		goto ZL1;
663
	    }
654
	    }
664
	    ADVANCE_LEXER;
655
	    ADVANCE_LEXER;
Line 666... Line 657...
666
 
657
 
667
    (ZIc) = macro_name ( PROTECT_PREFIX, (ZIa), (ZIb), null_str ) ;
658
    (ZIc) = macro_name ( PROTECT_PREFIX, (ZIa), (ZIb), null_str ) ;
668
	    }
659
	    }
669
	}
660
	}
670
	break;
661
	break;
671
      case 74:
-
 
672
	return;
-
 
673
      default:
-
 
674
	goto ZL1;
-
 
675
    }
-
 
676
    goto ZL0;
-
 
677
  ZL1:;
-
 
678
    SAVE_LEXER (74);
-
 
679
    return;
-
 
680
  ZL0:;
-
 
681
    *ZOc = ZIc;
-
 
682
}
-
 
683
 
-
 
684
static void
-
 
685
ZR285 PROTO_N ((ZOt))
-
 
686
  PROTO_T (SID_TYPE *ZOt)
-
 
687
{
-
 
688
    SID_TYPE ZIt;
-
 
689
 
-
 
690
    switch (CURRENT_TERMINAL) {
-
 
691
      case 55:
-
 
692
	{
-
 
693
	    ZRmacro_Hoperator (&ZIt);
-
 
694
	    if ((CURRENT_TERMINAL) == 74) {
-
 
695
		RESTORE_LEXER;
-
 
696
		goto ZL1;
-
 
697
	    }
-
 
698
	}
-
 
699
	break;
-
 
700
      default:
-
 
701
	{
-
 
702
	    {
-
 
703
 
-
 
704
    (ZIt) = null ;
-
 
705
	    }
-
 
706
	}
-
 
707
	break;
-
 
708
      case 74:
662
      case 75:
709
	return;
663
	return;
-
 
664
      default:
-
 
665
	goto ZL1;
710
    }
666
    }
711
    goto ZL0;
667
    goto ZL0;
712
  ZL1:;
668
  ZL1:;
713
    SAVE_LEXER (74);
669
    SAVE_LEXER (75);
714
    return;
670
    return;
715
  ZL0:;
671
  ZL0:;
716
    *ZOt = ZIt;
672
    *ZOc = ZIc;
717
}
673
}
718
 
674
 
719
static void
675
static void
720
ZRdefine_Hparam_Hlist PROTO_N ((ZOp))
676
ZRdefine_Hparam_Hlist(SID_STRING *ZOp)
721
  PROTO_T (SID_STRING *ZOp)
-
 
722
{
677
{
723
    SID_STRING ZIp;
678
    SID_STRING ZIp;
724
 
679
 
725
    if ((CURRENT_TERMINAL) == 74) {
680
    if ((CURRENT_TERMINAL) == 75) {
726
	return;
681
	return;
727
    }
682
    }
728
    {
683
    {
729
	SID_STRING ZI324;
684
	SID_STRING ZI326;
730
 
685
 
731
	switch (CURRENT_TERMINAL) {
686
	switch (CURRENT_TERMINAL) {
732
	  case 0:
687
	  case 0:
733
	    {
688
	    {
734
 ZI324 = token_value ; 
689
 ZI326 = token_value ; 
735
	    }
690
	    }
736
	    break;
691
	    break;
737
	  default:
692
	  default:
738
	    goto ZL1;
693
	    goto ZL1;
739
	}
694
	}
740
	ADVANCE_LEXER;
695
	ADVANCE_LEXER;
741
	ZR326 (&ZI324, &ZIp);
696
	ZR328 (&ZI326, &ZIp);
742
	if ((CURRENT_TERMINAL) == 74) {
697
	if ((CURRENT_TERMINAL) == 75) {
743
	    RESTORE_LEXER;
698
	    RESTORE_LEXER;
744
	    goto ZL1;
699
	    goto ZL1;
745
	}
700
	}
-
 
701
    }
-
 
702
    goto ZL0;
-
 
703
  ZL1:;
-
 
704
    SAVE_LEXER (75);
-
 
705
    return;
-
 
706
  ZL0:;
-
 
707
    *ZOp = ZIp;
-
 
708
}
-
 
709
 
-
 
710
static void
-
 
711
ZR287(SID_TYPE *ZOt)
-
 
712
{
-
 
713
    SID_TYPE ZIt;
-
 
714
 
-
 
715
    switch (CURRENT_TERMINAL) {
-
 
716
      case 56:
-
 
717
	{
-
 
718
	    ZRmacro_Hoperator (&ZIt);
-
 
719
	    if ((CURRENT_TERMINAL) == 75) {
-
 
720
		RESTORE_LEXER;
-
 
721
		goto ZL1;
-
 
722
	    }
-
 
723
	}
-
 
724
	break;
-
 
725
      default:
-
 
726
	{
-
 
727
	    {
-
 
728
 
-
 
729
    (ZIt) = null ;
-
 
730
	    }
-
 
731
	}
-
 
732
	break;
-
 
733
      case 75:
-
 
734
	return;
746
    }
735
    }
747
    goto ZL0;
736
    goto ZL0;
748
  ZL1:;
737
  ZL1:;
749
    SAVE_LEXER (74);
738
    SAVE_LEXER (75);
750
    return;
739
    return;
751
  ZL0:;
740
  ZL0:;
752
    *ZOp = ZIp;
741
    *ZOt = ZIt;
753
}
742
}
754
 
743
 
755
static void
744
static void
756
ZRdeclarator PROTO_N ((ZOid, ZOt))
-
 
757
  PROTO_T (SID_IDENTIFIER *ZOid X SID_TYPE *ZOt)
745
ZRdeclarator(SID_IDENTIFIER *ZOid, SID_TYPE *ZOt)
758
{
746
{
759
    SID_IDENTIFIER ZIid;
747
    SID_IDENTIFIER ZIid;
760
    SID_TYPE ZIt;
748
    SID_TYPE ZIt;
761
 
749
 
762
    switch (CURRENT_TERMINAL) {
750
    switch (CURRENT_TERMINAL) {
763
      case 0: case 55:
751
      case 0: case 56:
764
	{
752
	{
765
	    ZRdirect_Hdeclarator (&ZIid, &ZIt);
753
	    ZRdirect_Hdeclarator (&ZIid, &ZIt);
766
	    if ((CURRENT_TERMINAL) == 74) {
754
	    if ((CURRENT_TERMINAL) == 75) {
767
		RESTORE_LEXER;
755
		RESTORE_LEXER;
768
		goto ZL1;
756
		goto ZL1;
769
	    }
757
	    }
770
	}
758
	}
771
	break;
759
	break;
772
      case 71:
760
      case 72:
773
	{
761
	{
774
	    SID_TYPE ZIp;
762
	    SID_TYPE ZIp;
775
	    SID_TYPE ZIs;
763
	    SID_TYPE ZIs;
776
 
764
 
777
	    ZRptr_Hoperator (&ZIp);
765
	    ZRptr_Hoperator (&ZIp);
778
	    ZRdeclarator (&ZIid, &ZIs);
766
	    ZRdeclarator (&ZIid, &ZIs);
779
	    if ((CURRENT_TERMINAL) == 74) {
767
	    if ((CURRENT_TERMINAL) == 75) {
780
		RESTORE_LEXER;
768
		RESTORE_LEXER;
781
		goto ZL1;
769
		goto ZL1;
782
	    }
770
	    }
783
	    {
771
	    {
784
 
772
 
785
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
773
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
786
	    }
774
	    }
787
	}
775
	}
788
	break;
776
	break;
789
      case 74:
777
      case 75:
790
	return;
778
	return;
791
      default:
779
      default:
792
	goto ZL1;
780
	goto ZL1;
793
    }
781
    }
794
    goto ZL0;
782
    goto ZL0;
795
  ZL1:;
783
  ZL1:;
796
    SAVE_LEXER (74);
784
    SAVE_LEXER (75);
797
    return;
785
    return;
798
  ZL0:;
786
  ZL0:;
799
    *ZOid = ZIid;
787
    *ZOid = ZIid;
800
    *ZOt = ZIt;
788
    *ZOt = ZIt;
801
}
789
}
802
 
790
 
803
static void
791
static void
804
ZRidentifier PROTO_N ((ZOid))
-
 
805
  PROTO_T (SID_IDENTIFIER *ZOid)
792
ZRidentifier(SID_IDENTIFIER *ZOid)
806
{
793
{
807
    SID_IDENTIFIER ZIid;
794
    SID_IDENTIFIER ZIid;
808
 
795
 
809
    if ((CURRENT_TERMINAL) == 74) {
796
    if ((CURRENT_TERMINAL) == 75) {
810
	return;
797
	return;
811
    }
798
    }
812
    {
799
    {
813
	SID_STRING ZInm;
800
	SID_STRING ZInm;
814
	int ZIv;
801
	int ZIv;
815
 
802
 
816
	ZRinternal_Hname (&ZInm, &ZIv);
803
	ZRinternal_Hname (&ZInm, &ZIv);
817
	ZR322 (&ZInm, &ZIv, &ZIid);
804
	ZR324 (&ZInm, &ZIv, &ZIid);
818
	if ((CURRENT_TERMINAL) == 74) {
805
	if ((CURRENT_TERMINAL) == 75) {
819
	    RESTORE_LEXER;
806
	    RESTORE_LEXER;
820
	    goto ZL1;
807
	    goto ZL1;
821
	}
808
	}
822
    }
809
    }
823
    goto ZL0;
810
    goto ZL0;
824
  ZL1:;
811
  ZL1:;
825
    SAVE_LEXER (74);
812
    SAVE_LEXER (75);
826
    return;
813
    return;
827
  ZL0:;
814
  ZL0:;
828
    *ZOid = ZIid;
815
    *ZOid = ZIid;
829
}
816
}
830
 
817
 
831
static void
818
static void
832
ZRsubset_Hcommand PROTO_N ((ZOc))
819
ZRsubset_Hcommand(SID_COMMAND *ZOc)
833
  PROTO_T (SID_COMMAND *ZOc)
-
 
834
{
820
{
835
    SID_COMMAND ZIc;
821
    SID_COMMAND ZIc;
836
 
822
 
837
    if ((CURRENT_TERMINAL) == 74) {
823
    if ((CURRENT_TERMINAL) == 75) {
838
	return;
824
	return;
839
    }
825
    }
840
    {
826
    {
841
	SID_STRING ZIs;
827
	SID_STRING ZIs;
842
	SID_COMMAND ZIa;
828
	SID_COMMAND ZIa;
843
	SID_COMMAND ZIb;
829
	SID_COMMAND ZIb;
844
 
830
 
845
	switch (CURRENT_TERMINAL) {
831
	switch (CURRENT_TERMINAL) {
846
	  case 23:
832
	  case 23:
847
	    break;
833
	    break;
848
	  default:
834
	  default:
849
	    goto ZL1;
-
 
850
	}
-
 
851
	ADVANCE_LEXER;
-
 
852
	ZRsubset_Hname (&ZIs);
-
 
853
	switch (CURRENT_TERMINAL) {
-
 
854
	  case 59:
-
 
855
	    break;
-
 
856
	  case 74:
-
 
857
	    RESTORE_LEXER;
-
 
858
	    goto ZL1;
835
	    goto ZL1;
-
 
836
	}
-
 
837
	ADVANCE_LEXER;
-
 
838
	ZRsubset_Hname (&ZIs);
-
 
839
	switch (CURRENT_TERMINAL) {
-
 
840
	  case 60:
-
 
841
	    break;
-
 
842
	  case 75:
-
 
843
	    RESTORE_LEXER;
-
 
844
	    goto ZL1;
859
	  default:
845
	  default:
860
	    goto ZL1;
846
	    goto ZL1;
861
	}
847
	}
862
	ADVANCE_LEXER;
848
	ADVANCE_LEXER;
863
	{
849
	{
864
 
850
 
Line 869... Line 855...
869
	object *q = search_hash ( subsets, nm, no_version ) ;
855
	object *q = search_hash ( subsets, nm, no_version ) ;
870
	update_time ( p, q ) ;
856
	update_time ( p, q ) ;
871
    }
857
    }
872
    (ZIa) = crt_object ;
858
    (ZIa) = crt_object ;
873
    crt_object = p ;
859
    crt_object = p ;
874
	}
860
	}
875
	switch (CURRENT_TERMINAL) {
861
	switch (CURRENT_TERMINAL) {
876
	  case 53:
862
	  case 54:
877
	    break;
863
	    break;
878
	  default:
864
	  default:
879
	    goto ZL1;
865
	    goto ZL1;
880
	}
866
	}
881
	ADVANCE_LEXER;
867
	ADVANCE_LEXER;
882
	ZRcommand_Hlist (&ZIb);
868
	ZRcommand_Hlist (&ZIb);
883
	switch (CURRENT_TERMINAL) {
869
	switch (CURRENT_TERMINAL) {
884
	  case 54:
870
	  case 55:
885
	    break;
871
	    break;
886
	  case 74:
872
	  case 75:
887
	    RESTORE_LEXER;
873
	    RESTORE_LEXER;
888
	    goto ZL1;
874
	    goto ZL1;
889
	  default:
875
	  default:
890
	    goto ZL1;
876
	    goto ZL1;
891
	}
877
	}
892
	ADVANCE_LEXER;
878
	ADVANCE_LEXER;
893
	{
879
	{
894
 
880
 
895
    object *p = crt_object ;
881
    object *p = crt_object ;
896
    if ( p ) p->u.u_info->elements = (ZIb) ;
882
    if ( p ) p->u.u_info->elements = (ZIb) ;
Line 899... Line 885...
899
    crt_object = (ZIa) ;
885
    crt_object = (ZIa) ;
900
	}
886
	}
901
    }
887
    }
902
    goto ZL0;
888
    goto ZL0;
903
  ZL1:;
889
  ZL1:;
904
    SAVE_LEXER (74);
890
    SAVE_LEXER (75);
905
    return;
891
    return;
906
  ZL0:;
892
  ZL0:;
907
    *ZOc = ZIc;
893
    *ZOc = ZIc;
908
}
894
}
909
 
895
 
910
static void
896
static void
911
ZRqualified_Htype PROTO_N ((ZOt))
897
ZRqualified_Htype(SID_TYPE *ZOt)
912
  PROTO_T (SID_TYPE *ZOt)
-
 
913
{
898
{
914
    SID_TYPE ZIt;
899
    SID_TYPE ZIt;
915
 
900
 
916
    switch (CURRENT_TERMINAL) {
901
    switch (CURRENT_TERMINAL) {
917
      case 0: case 31: case 33: case 34: case 36:
902
      case 0: case 32: case 34: case 35: case 37:
918
      case 37: case 38: case 41: case 42: case 43:
903
      case 38: case 39: case 42: case 43: case 44:
919
      case 44: case 45: case 46:
904
      case 45: case 46: case 47:
920
	{
905
	{
921
	    SID_TYPE ZI329;
906
	    SID_TYPE ZI331;
922
 
907
 
923
	    ZRsimple_Htype (&ZI329);
908
	    ZRsimple_Htype (&ZI331);
924
	    ZR331 (&ZI329, &ZIt);
909
	    ZR333 (&ZI331, &ZIt);
925
	    if ((CURRENT_TERMINAL) == 74) {
910
	    if ((CURRENT_TERMINAL) == 75) {
926
		RESTORE_LEXER;
911
		RESTORE_LEXER;
927
		goto ZL1;
912
		goto ZL1;
928
	    }
913
	    }
929
	}
914
	}
930
	break;
915
	break;
931
      case 32: case 47:
916
      case 33: case 48:
932
	{
917
	{
933
	    unsigned ZIcv;
918
	    unsigned ZIcv;
934
	    SID_TYPE ZIs;
919
	    SID_TYPE ZIs;
935
 
920
 
936
	    ZRtype_Hqualifier (&ZIcv);
921
	    ZRtype_Hqualifier (&ZIcv);
937
	    ZRsimple_Htype (&ZIs);
922
	    ZRsimple_Htype (&ZIs);
938
	    if ((CURRENT_TERMINAL) == 74) {
923
	    if ((CURRENT_TERMINAL) == 75) {
939
		RESTORE_LEXER;
924
		RESTORE_LEXER;
940
		goto ZL1;
925
		goto ZL1;
941
	    }
926
	    }
942
	    {
927
	    {
943
 
928
 
944
    (ZIt) = make_subtype ( (ZIs), TYPE_QUALIFIER ) ;
929
    (ZIt) = make_subtype ( (ZIs), TYPE_QUALIFIER ) ;
945
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
930
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
946
	    }
931
	    }
947
	}
932
	}
948
	break;
933
	break;
949
      case 74:
934
      case 75:
950
	return;
935
	return;
951
      default:
936
      default:
952
	goto ZL1;
937
	goto ZL1;
953
    }
938
    }
954
    goto ZL0;
939
    goto ZL0;
955
  ZL1:;
940
  ZL1:;
956
    SAVE_LEXER (74);
941
    SAVE_LEXER (75);
957
    return;
942
    return;
958
  ZL0:;
943
  ZL0:;
959
    *ZOt = ZIt;
944
    *ZOt = ZIt;
960
}
945
}
961
 
946
 
962
static void
947
static void
963
ZRabstract_Hdeclarator PROTO_N ((ZOnm, ZOt))
948
ZRabstract_Hdeclarator(SID_STRING *ZOnm, SID_TYPE *ZOt)
964
  PROTO_T (SID_STRING *ZOnm X SID_TYPE *ZOt)
-
 
965
{
949
{
966
    SID_STRING ZInm;
950
    SID_STRING ZInm;
967
    SID_TYPE ZIt;
951
    SID_TYPE ZIt;
968
 
952
 
969
    switch (CURRENT_TERMINAL) {
953
    switch (CURRENT_TERMINAL) {
970
      default:
954
      default:
971
	{
955
	{
972
	    ZRdirect_Habstract_Hdeclarator (&ZInm, &ZIt);
956
	    ZRdirect_Habstract_Hdeclarator (&ZInm, &ZIt);
973
	    if ((CURRENT_TERMINAL) == 74) {
957
	    if ((CURRENT_TERMINAL) == 75) {
974
		RESTORE_LEXER;
958
		RESTORE_LEXER;
975
		goto ZL1;
959
		goto ZL1;
976
	    }
960
	    }
977
	}
961
	}
978
	break;
962
	break;
979
      case 71:
963
      case 72:
980
	{
964
	{
981
	    SID_TYPE ZIp;
965
	    SID_TYPE ZIp;
982
	    SID_TYPE ZIs;
966
	    SID_TYPE ZIs;
983
 
967
 
984
	    ZRptr_Hoperator (&ZIp);
968
	    ZRptr_Hoperator (&ZIp);
985
	    ZRabstract_Hdeclarator (&ZInm, &ZIs);
969
	    ZRabstract_Hdeclarator (&ZInm, &ZIs);
986
	    if ((CURRENT_TERMINAL) == 74) {
-
 
987
		RESTORE_LEXER;
-
 
988
		goto ZL1;
-
 
989
	    }
-
 
990
	    {
-
 
991
 
-
 
992
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
-
 
993
	    }
-
 
994
	}
-
 
995
	break;
-
 
996
      case 74:
-
 
997
	return;
-
 
998
    }
-
 
999
    goto ZL0;
-
 
1000
  ZL1:;
-
 
1001
    SAVE_LEXER (74);
-
 
1002
    return;
-
 
1003
  ZL0:;
-
 
1004
    *ZOnm = ZInm;
-
 
1005
    *ZOt = ZIt;
-
 
1006
}
-
 
1007
 
-
 
1008
static void
-
 
1009
ZR306 PROTO_N ((ZI302, ZI303, ZO304, ZO305))
-
 
1010
  PROTO_T (SID_STRING ZI302 X SID_TYPE ZI303 X SID_STRING *ZO304 X SID_TYPE *ZO305)
-
 
1011
{
-
 
1012
    SID_STRING ZI304;
-
 
1013
    SID_TYPE ZI305;
-
 
1014
 
-
 
1015
  ZL2_306:;
-
 
1016
    switch (CURRENT_TERMINAL) {
-
 
1017
      case 57:
-
 
1018
	{
-
 
1019
	    SID_STRING ZInm;
-
 
1020
	    SID_TYPE ZIs;
-
 
1021
	    SID_TYPE ZIt;
-
 
1022
 
-
 
1023
	    ZInm = ZI302;
-
 
1024
	    ZRarray_Hoperator (&ZIs);
-
 
1025
	    if ((CURRENT_TERMINAL) == 74) {
970
	    if ((CURRENT_TERMINAL) == 75) {
1026
		RESTORE_LEXER;
971
		RESTORE_LEXER;
1027
		goto ZL1;
972
		goto ZL1;
1028
	    }
973
	    }
1029
	    {
974
	    {
1030
 
975
 
1031
    (ZIt) = inject_type ( (ZI303), (ZIs) ) ;
976
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
1032
	    }
977
	    }
1033
	    ZI302 = ZInm;
-
 
1034
	    ZI303 = ZIt;
-
 
1035
	    goto ZL2_306;
-
 
1036
	}
-
 
1037
	/*UNREACHED*/
-
 
1038
      default:
-
 
1039
	{
-
 
1040
	    ZI304 = ZI302;
-
 
1041
	    ZI305 = ZI303;
-
 
1042
	}
978
	}
1043
	break;
979
	break;
1044
      case 74:
980
      case 75:
1045
	return;
981
	return;
1046
    }
982
    }
1047
    goto ZL0;
983
    goto ZL0;
1048
  ZL1:;
984
  ZL1:;
1049
    SAVE_LEXER (74);
985
    SAVE_LEXER (75);
1050
    return;
986
    return;
1051
  ZL0:;
987
  ZL0:;
1052
    *ZO304 = ZI304;
988
    *ZOnm = ZInm;
1053
    *ZO305 = ZI305;
989
    *ZOt = ZIt;
1054
}
990
}
1055
 
991
 
1056
static void
992
static void
1057
ZRparameter_Hlist PROTO_N ((ZOp))
993
ZRparameter_Hlist(SID_TYPE *ZOp)
1058
  PROTO_T (SID_TYPE *ZOp)
-
 
1059
{
994
{
1060
    SID_TYPE ZIp;
995
    SID_TYPE ZIp;
1061
 
996
 
1062
    if ((CURRENT_TERMINAL) == 74) {
997
    if ((CURRENT_TERMINAL) == 75) {
1063
	return;
998
	return;
1064
    }
999
    }
1065
    {
1000
    {
1066
	SID_TYPE ZIt;
1001
	SID_TYPE ZIt;
1067
	SID_TYPE ZIq;
1002
	SID_TYPE ZIq;
1068
 
1003
 
1069
	ZRparameter_Hdeclaration (&ZIt);
1004
	ZRparameter_Hdeclaration (&ZIt);
1070
	{
1005
	{
1071
	    switch (CURRENT_TERMINAL) {
1006
	    switch (CURRENT_TERMINAL) {
1072
	      case 61:
1007
	      case 62:
1073
		{
1008
		{
1074
		    ADVANCE_LEXER;
1009
		    ADVANCE_LEXER;
1075
		    ZR337 (&ZIq);
1010
		    ZR339 (&ZIq);
1076
		    if ((CURRENT_TERMINAL) == 74) {
1011
		    if ((CURRENT_TERMINAL) == 75) {
1077
			RESTORE_LEXER;
1012
			RESTORE_LEXER;
1078
			goto ZL1;
1013
			goto ZL1;
1079
		    }
1014
		    }
1080
		}
1015
		}
1081
		break;
1016
		break;
Line 1085... Line 1020...
1085
 
1020
 
1086
    (ZIq) = null ;
1021
    (ZIq) = null ;
1087
		    }
1022
		    }
1088
		}
1023
		}
1089
		break;
1024
		break;
1090
	      case 74:
1025
	      case 75:
1091
		RESTORE_LEXER;
1026
		RESTORE_LEXER;
1092
		goto ZL1;
1027
		goto ZL1;
1093
	    }
1028
	    }
1094
	}
1029
	}
1095
	{
1030
	{
Line 1098... Line 1033...
1098
    (ZIp)->v.next = (ZIq) ;
1033
    (ZIp)->v.next = (ZIq) ;
1099
	}
1034
	}
1100
    }
1035
    }
1101
    goto ZL0;
1036
    goto ZL0;
1102
  ZL1:;
1037
  ZL1:;
1103
    SAVE_LEXER (74);
1038
    SAVE_LEXER (75);
1104
    return;
1039
    return;
1105
  ZL0:;
1040
  ZL0:;
1106
    *ZOp = ZIp;
1041
    *ZOp = ZIp;
1107
}
1042
}
1108
 
1043
 
1109
static void
1044
static void
1110
ZRinternal_Hname PROTO_N ((ZOnm, ZOv))
-
 
1111
  PROTO_T (SID_STRING *ZOnm X int *ZOv)
1045
ZRinternal_Hname(SID_STRING *ZOnm, int *ZOv)
1112
{
1046
{
1113
    SID_STRING ZInm;
1047
    SID_STRING ZInm;
1114
    int ZIv;
1048
    int ZIv;
1115
 
1049
 
1116
    if ((CURRENT_TERMINAL) == 74) {
1050
    if ((CURRENT_TERMINAL) == 75) {
1117
	return;
1051
	return;
1118
    }
1052
    }
1119
    {
1053
    {
1120
	SID_STRING ZIa;
1054
	SID_STRING ZIa;
1121
 
1055
 
Line 1128... Line 1062...
1128
	  default:
1062
	  default:
1129
	    goto ZL1;
1063
	    goto ZL1;
1130
	}
1064
	}
1131
	ADVANCE_LEXER;
1065
	ADVANCE_LEXER;
1132
	ZRname_Hversion (&ZIv);
1066
	ZRname_Hversion (&ZIv);
1133
	if ((CURRENT_TERMINAL) == 74) {
1067
	if ((CURRENT_TERMINAL) == 75) {
1134
	    RESTORE_LEXER;
1068
	    RESTORE_LEXER;
1135
	    goto ZL1;
1069
	    goto ZL1;
1136
	}
1070
	}
1137
	{
1071
	{
1138
 
1072
 
1139
    if ( crt_field_name ) {
1073
    if ( crt_field_name ) {
1140
	(ZInm) = string_printf ( "%s.%s", crt_field_name, (ZIa) ) ;
1074
	(ZInm) = string_printf ( "%s.%s", crt_field_name, (ZIa) ) ;
1141
    } else {
1075
    } else {
1142
	(ZInm) = (ZIa) ;
1076
	(ZInm) = (ZIa) ;
1143
    }
1077
    }
1144
	}
1078
	}
1145
    }
1079
    }
1146
    goto ZL0;
1080
    goto ZL0;
1147
  ZL1:;
1081
  ZL1:;
1148
    SAVE_LEXER (74);
1082
    SAVE_LEXER (75);
1149
    return;
1083
    return;
1150
  ZL0:;
1084
  ZL0:;
1151
    *ZOnm = ZInm;
1085
    *ZOnm = ZInm;
1152
    *ZOv = ZIv;
1086
    *ZOv = ZIv;
-
 
1087
}
-
 
1088
 
-
 
1089
static void
-
 
1090
ZR308(SID_STRING ZI304, SID_TYPE ZI305, SID_STRING *ZO306, SID_TYPE *ZO307)
-
 
1091
{
-
 
1092
    SID_STRING ZI306;
-
 
1093
    SID_TYPE ZI307;
-
 
1094
 
-
 
1095
  ZL2_308:;
-
 
1096
    switch (CURRENT_TERMINAL) {
-
 
1097
      case 58:
-
 
1098
	{
-
 
1099
	    SID_STRING ZInm;
-
 
1100
	    SID_TYPE ZIs;
-
 
1101
	    SID_TYPE ZIt;
-
 
1102
 
-
 
1103
	    ZInm = ZI304;
-
 
1104
	    ZRarray_Hoperator (&ZIs);
-
 
1105
	    if ((CURRENT_TERMINAL) == 75) {
-
 
1106
		RESTORE_LEXER;
-
 
1107
		goto ZL1;
-
 
1108
	    }
-
 
1109
	    {
-
 
1110
 
-
 
1111
    (ZIt) = inject_type ( (ZI305), (ZIs) ) ;
-
 
1112
	    }
-
 
1113
	    ZI304 = ZInm;
-
 
1114
	    ZI305 = ZIt;
-
 
1115
	    goto ZL2_308;
-
 
1116
	}
-
 
1117
	/*UNREACHED*/
-
 
1118
      default:
-
 
1119
	{
-
 
1120
	    ZI306 = ZI304;
-
 
1121
	    ZI307 = ZI305;
-
 
1122
	}
-
 
1123
	break;
-
 
1124
      case 75:
-
 
1125
	return;
-
 
1126
    }
-
 
1127
    goto ZL0;
-
 
1128
  ZL1:;
-
 
1129
    SAVE_LEXER (75);
-
 
1130
    return;
-
 
1131
  ZL0:;
-
 
1132
    *ZO306 = ZI306;
-
 
1133
    *ZO307 = ZI307;
1153
}
1134
}
1154
 
1135
 
1155
static void
1136
static void
1156
ZRmacro_Hoperator PROTO_N ((ZOt))
1137
ZRmacro_Hoperator(SID_TYPE *ZOt)
1157
  PROTO_T (SID_TYPE *ZOt)
-
 
1158
{
1138
{
1159
    SID_TYPE ZIt;
1139
    SID_TYPE ZIt;
1160
 
1140
 
1161
    if ((CURRENT_TERMINAL) == 74) {
1141
    if ((CURRENT_TERMINAL) == 75) {
1162
	return;
1142
	return;
1163
    }
1143
    }
1164
    {
1144
    {
1165
	switch (CURRENT_TERMINAL) {
1145
	switch (CURRENT_TERMINAL) {
1166
	  case 55:
1146
	  case 56:
1167
	    break;
1147
	    break;
1168
	  default:
1148
	  default:
1169
	    goto ZL1;
1149
	    goto ZL1;
1170
	}
1150
	}
1171
	ADVANCE_LEXER;
1151
	ADVANCE_LEXER;
1172
	ZR348 (&ZIt);
1152
	ZR350 (&ZIt);
1173
	if ((CURRENT_TERMINAL) == 74) {
1153
	if ((CURRENT_TERMINAL) == 75) {
1174
	    RESTORE_LEXER;
1154
	    RESTORE_LEXER;
1175
	    goto ZL1;
1155
	    goto ZL1;
1176
	}
1156
	}
1177
    }
1157
    }
1178
    goto ZL0;
1158
    goto ZL0;
1179
  ZL1:;
1159
  ZL1:;
1180
    SAVE_LEXER (74);
1160
    SAVE_LEXER (75);
1181
    return;
1161
    return;
1182
  ZL0:;
1162
  ZL0:;
1183
    *ZOt = ZIt;
1163
    *ZOt = ZIt;
1184
}
1164
}
1185
 
1165
 
1186
static void
1166
static void
1187
ZRenumerator_Hlist PROTO_N ((ZOc))
1167
ZRenumerator_Hlist(SID_COMMAND *ZOc)
1188
  PROTO_T (SID_COMMAND *ZOc)
-
 
1189
{
1168
{
1190
    SID_COMMAND ZIc;
1169
    SID_COMMAND ZIc;
1191
 
1170
 
1192
    if ((CURRENT_TERMINAL) == 74) {
1171
    if ((CURRENT_TERMINAL) == 75) {
1193
	return;
1172
	return;
1194
    }
1173
    }
1195
    {
1174
    {
1196
	SID_COMMAND ZIa;
1175
	SID_COMMAND ZIa;
1197
	SID_COMMAND ZIb;
1176
	SID_COMMAND ZIb;
1198
 
1177
 
1199
	ZRenumerator (&ZIa);
1178
	ZRenumerator (&ZIa);
1200
	{
1179
	{
1201
	    switch (CURRENT_TERMINAL) {
1180
	    switch (CURRENT_TERMINAL) {
1202
	      case 61:
1181
	      case 62:
1203
		{
1182
		{
1204
		    ADVANCE_LEXER;
1183
		    ADVANCE_LEXER;
1205
		    ZRenumerator_Hlist (&ZIb);
1184
		    ZRenumerator_Hlist (&ZIb);
1206
		    if ((CURRENT_TERMINAL) == 74) {
1185
		    if ((CURRENT_TERMINAL) == 75) {
1207
			RESTORE_LEXER;
1186
			RESTORE_LEXER;
1208
			goto ZL1;
1187
			goto ZL1;
1209
		    }
1188
		    }
1210
		}
1189
		}
1211
		break;
1190
		break;
Line 1215... Line 1194...
1215
 
1194
 
1216
    (ZIb) = null ;
1195
    (ZIb) = null ;
1217
		    }
1196
		    }
1218
		}
1197
		}
1219
		break;
1198
		break;
1220
	      case 74:
1199
	      case 75:
1221
		RESTORE_LEXER;
1200
		RESTORE_LEXER;
1222
		goto ZL1;
1201
		goto ZL1;
1223
	    }
1202
	    }
1224
	}
1203
	}
1225
	{
1204
	{
Line 1227... Line 1206...
1227
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
1206
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
1228
	}
1207
	}
1229
    }
1208
    }
1230
    goto ZL0;
1209
    goto ZL0;
1231
  ZL1:;
1210
  ZL1:;
1232
    SAVE_LEXER (74);
1211
    SAVE_LEXER (75);
1233
    return;
1212
    return;
1234
  ZL0:;
1213
  ZL0:;
1235
    *ZOc = ZIc;
1214
    *ZOc = ZIc;
1236
}
1215
}
1237
 
1216
 
1238
static void
1217
static void
1239
ZRexternal_Hname PROTO_N ((ZOnm, ZOv))
-
 
1240
  PROTO_T (SID_STRING *ZOnm X int *ZOv)
1218
ZRexternal_Hname(SID_STRING *ZOnm, int *ZOv)
1241
{
1219
{
1242
    SID_STRING ZInm;
1220
    SID_STRING ZInm;
1243
    int ZIv;
1221
    int ZIv;
1244
 
1222
 
1245
    switch (CURRENT_TERMINAL) {
1223
    switch (CURRENT_TERMINAL) {
1246
      case 0:
1224
      case 0:
1247
	{
1225
	{
1248
	    SID_STRING ZIa;
1226
	    SID_STRING ZIa;
1249
	    SID_STRING ZIb;
1227
	    SID_STRING ZIb;
1250
 
1228
 
1251
	    {
1229
	    {
1252
 ZIa = token_value ; 
1230
 ZIa = token_value ; 
1253
	    }
1231
	    }
1254
	    ADVANCE_LEXER;
1232
	    ADVANCE_LEXER;
1255
	    ZRname_Hversion (&ZIv);
1233
	    ZRname_Hversion (&ZIv);
1256
	    if ((CURRENT_TERMINAL) == 74) {
1234
	    if ((CURRENT_TERMINAL) == 75) {
1257
		RESTORE_LEXER;
1235
		RESTORE_LEXER;
1258
		goto ZL1;
1236
		goto ZL1;
1259
	    }
1237
	    }
1260
	    {
1238
	    {
1261
 
1239
 
1262
    if ( crt_field_name ) {
1240
    if ( crt_field_name ) {
1263
	(ZIb) = string_printf ( "%s.%s", crt_field_name, (ZIa) ) ;
1241
	(ZIb) = string_printf ( "%s.%s", crt_field_name, (ZIa) ) ;
1264
    } else {
1242
    } else {
1265
	(ZIb) = (ZIa) ;
1243
	(ZIb) = (ZIa) ;
1266
    }
1244
    }
1267
	    }
1245
	    }
1268
	    {
1246
	    {
1269
 
1247
 
1270
    (ZInm) = token_name ( (ZIb) ) ;
1248
    (ZInm) = token_name ( (ZIb) ) ;
1271
	    }
1249
	    }
1272
	}
1250
	}
1273
	break;
1251
	break;
1274
      case 2:
1252
      case 2:
1275
	{
1253
	{
1276
	    {
1254
	    {
1277
 ZInm = token_value ; 
1255
 ZInm = token_value ; 
1278
	    }
1256
	    }
1279
	    ADVANCE_LEXER;
1257
	    ADVANCE_LEXER;
1280
	    ZRname_Hversion (&ZIv);
1258
	    ZRname_Hversion (&ZIv);
1281
	    if ((CURRENT_TERMINAL) == 74) {
1259
	    if ((CURRENT_TERMINAL) == 75) {
1282
		RESTORE_LEXER;
1260
		RESTORE_LEXER;
1283
		goto ZL1;
1261
		goto ZL1;
1284
	    }
1262
	    }
1285
	}
1263
	}
1286
	break;
1264
	break;
1287
      case 74:
1265
      case 75:
1288
	return;
1266
	return;
1289
      default:
1267
      default:
1290
	goto ZL1;
1268
	goto ZL1;
1291
    }
1269
    }
1292
    goto ZL0;
1270
    goto ZL0;
1293
  ZL1:;
1271
  ZL1:;
1294
    SAVE_LEXER (74);
1272
    SAVE_LEXER (75);
1295
    return;
1273
    return;
1296
  ZL0:;
1274
  ZL0:;
1297
    *ZOnm = ZInm;
1275
    *ZOnm = ZInm;
1298
    *ZOv = ZIv;
1276
    *ZOv = ZIv;
1299
}
1277
}
1300
 
1278
 
1301
static void
1279
static void
1302
ZRtype_Hqualifier PROTO_N ((ZOcv))
1280
ZRtype_Hqualifier(unsigned *ZOcv)
1303
  PROTO_T (unsigned *ZOcv)
-
 
1304
{
1281
{
1305
    unsigned ZIcv;
1282
    unsigned ZIcv;
1306
 
1283
 
1307
    switch (CURRENT_TERMINAL) {
1284
    switch (CURRENT_TERMINAL) {
1308
      case 32:
1285
      case 33:
1309
	{
1286
	{
1310
	    unsigned ZIa;
1287
	    unsigned ZIa;
1311
 
1288
 
1312
	    ADVANCE_LEXER;
1289
	    ADVANCE_LEXER;
1313
	    ZRtype_Hqualifier_Hopt (&ZIa);
1290
	    ZRtype_Hqualifier_Hopt (&ZIa);
1314
	    if ((CURRENT_TERMINAL) == 74) {
1291
	    if ((CURRENT_TERMINAL) == 75) {
1315
		RESTORE_LEXER;
1292
		RESTORE_LEXER;
1316
		goto ZL1;
1293
		goto ZL1;
1317
	    }
1294
	    }
1318
	    {
1295
	    {
1319
 
1296
 
1320
    if ( (ZIa) & 1 ) error ( ERR_SERIOUS, "Duplicate type qualifier" ) ;
1297
    if ( (ZIa) & 1 ) error ( ERR_SERIOUS, "Duplicate type qualifier" ) ;
1321
    (ZIcv) = ( (ZIa) | 1 ) ;
1298
    (ZIcv) = ( (ZIa) | 1 ) ;
1322
	    }
1299
	    }
1323
	}
1300
	}
1324
	break;
1301
	break;
1325
      case 47:
1302
      case 48:
1326
	{
1303
	{
1327
	    unsigned ZIa;
1304
	    unsigned ZIa;
1328
 
1305
 
1329
	    ADVANCE_LEXER;
1306
	    ADVANCE_LEXER;
1330
	    ZRtype_Hqualifier_Hopt (&ZIa);
1307
	    ZRtype_Hqualifier_Hopt (&ZIa);
1331
	    if ((CURRENT_TERMINAL) == 74) {
1308
	    if ((CURRENT_TERMINAL) == 75) {
1332
		RESTORE_LEXER;
1309
		RESTORE_LEXER;
1333
		goto ZL1;
1310
		goto ZL1;
1334
	    }
1311
	    }
1335
	    {
1312
	    {
1336
 
1313
 
1337
    if ( (ZIa) & 2 ) error ( ERR_SERIOUS, "Duplicate type qualifier" ) ;
1314
    if ( (ZIa) & 2 ) error ( ERR_SERIOUS, "Duplicate type qualifier" ) ;
1338
    (ZIcv) = ( (ZIa) | 2 ) ;
1315
    (ZIcv) = ( (ZIa) | 2 ) ;
1339
	    }
1316
	    }
1340
	}
1317
	}
1341
	break;
1318
	break;
1342
      case 74:
1319
      case 75:
1343
	return;
1320
	return;
1344
      default:
1321
      default:
1345
	goto ZL1;
1322
	goto ZL1;
1346
    }
1323
    }
1347
    goto ZL0;
1324
    goto ZL0;
1348
  ZL1:;
1325
  ZL1:;
1349
    SAVE_LEXER (74);
-
 
1350
    return;
-
 
1351
  ZL0:;
-
 
1352
    *ZOcv = ZIcv;
-
 
1353
}
-
 
1354
 
-
 
1355
static void
-
 
1356
ZR316 PROTO_N ((ZI310, ZI311, ZO314, ZO315))
-
 
1357
  PROTO_T (SID_IDENTIFIER ZI310 X SID_TYPE ZI311 X SID_IDENTIFIER *ZO314 X SID_TYPE *ZO315)
-
 
1358
{
-
 
1359
    SID_IDENTIFIER ZI314;
-
 
1360
    SID_TYPE ZI315;
-
 
1361
 
-
 
1362
  ZL2_316:;
-
 
1363
    switch (CURRENT_TERMINAL) {
-
 
1364
      case 55: case 57:
-
 
1365
	{
-
 
1366
	    SID_IDENTIFIER ZIid;
-
 
1367
 
-
 
1368
	    ZIid = ZI310;
-
 
1369
	    {
-
 
1370
		switch (CURRENT_TERMINAL) {
-
 
1371
		  case 57:
-
 
1372
		    {
-
 
1373
			SID_TYPE ZIs;
-
 
1374
			SID_TYPE ZIt;
-
 
1375
 
-
 
1376
			ZRarray_Hoperator (&ZIs);
-
 
1377
			if ((CURRENT_TERMINAL) == 74) {
-
 
1378
			    RESTORE_LEXER;
-
 
1379
			    goto ZL1;
-
 
1380
			}
-
 
1381
			{
-
 
1382
 
-
 
1383
    (ZIt) = inject_type ( (ZI311), (ZIs) ) ;
-
 
1384
			}
-
 
1385
			ZI310 = ZIid;
-
 
1386
			ZI311 = ZIt;
-
 
1387
			goto ZL2_316;
-
 
1388
		    }
-
 
1389
		    /*UNREACHED*/
-
 
1390
		  case 55:
-
 
1391
		    {
-
 
1392
			SID_TYPE ZIs;
-
 
1393
			SID_TYPE ZIt;
-
 
1394
 
-
 
1395
			ZRfunction_Hoperator (&ZIs);
-
 
1396
			if ((CURRENT_TERMINAL) == 74) {
-
 
1397
			    RESTORE_LEXER;
-
 
1398
			    goto ZL1;
-
 
1399
			}
-
 
1400
			{
-
 
1401
 
-
 
1402
    (ZIt) = inject_type ( (ZI311), (ZIs) ) ;
-
 
1403
			}
-
 
1404
			ZI310 = ZIid;
-
 
1405
			ZI311 = ZIt;
-
 
1406
			goto ZL2_316;
-
 
1407
		    }
-
 
1408
		    /*UNREACHED*/
-
 
1409
		  default:
-
 
1410
		    goto ZL1;
-
 
1411
		}
-
 
1412
	    }
-
 
1413
	}
-
 
1414
	/*UNREACHED*/
-
 
1415
      default:
-
 
1416
	{
-
 
1417
	    ZI314 = ZI310;
-
 
1418
	    ZI315 = ZI311;
-
 
1419
	}
-
 
1420
	break;
-
 
1421
      case 74:
-
 
1422
	return;
-
 
1423
    }
-
 
1424
    goto ZL0;
-
 
1425
  ZL1:;
-
 
1426
    SAVE_LEXER (74);
1326
    SAVE_LEXER (75);
1427
    return;
1327
    return;
1428
  ZL0:;
1328
  ZL0:;
1429
    *ZO314 = ZI314;
-
 
1430
    *ZO315 = ZI315;
1329
    *ZOcv = ZIcv;
1431
}
1330
}
1432
 
1331
 
1433
static void
1332
static void
1434
ZRtype_Hkey PROTO_N ((ZOtag))
1333
ZRtype_Hkey(int *ZOtag)
1435
  PROTO_T (int *ZOtag)
-
 
1436
{
1334
{
1437
    int ZItag;
1335
    int ZItag;
1438
 
1336
 
1439
    switch (CURRENT_TERMINAL) {
1337
    switch (CURRENT_TERMINAL) {
1440
      case 34:
1338
      case 35:
1441
	{
1339
	{
1442
	    ADVANCE_LEXER;
1340
	    ADVANCE_LEXER;
1443
	    {
1341
	    {
1444
 (ZItag) = TYPE_ENUM_TAG ; 
1342
 (ZItag) = TYPE_ENUM_TAG ; 
1445
	    }
1343
	    }
1446
	}
1344
	}
1447
	break;
1345
	break;
1448
      case 43:
1346
      case 44:
1449
	{
1347
	{
1450
	    ADVANCE_LEXER;
1348
	    ADVANCE_LEXER;
1451
	    {
1349
	    {
1452
 (ZItag) = TYPE_STRUCT_TAG ; 
1350
 (ZItag) = TYPE_STRUCT_TAG ; 
1453
	    }
1351
	    }
1454
	}
1352
	}
1455
	break;
1353
	break;
1456
      case 44:
1354
      case 45:
1457
	{
1355
	{
1458
	    ADVANCE_LEXER;
1356
	    ADVANCE_LEXER;
1459
	    {
1357
	    {
1460
 (ZItag) = TYPE_UNION_TAG ; 
1358
 (ZItag) = TYPE_UNION_TAG ; 
1461
	    }
1359
	    }
Line 1466... Line 1364...
1466
	    {
1364
	    {
1467
 (ZItag) = TYPE_GENERIC ; 
1365
 (ZItag) = TYPE_GENERIC ; 
1468
	    }
1366
	    }
1469
	}
1367
	}
1470
	break;
1368
	break;
1471
      case 74:
1369
      case 75:
1472
	return;
1370
	return;
1473
    }
1371
    }
1474
    *ZOtag = ZItag;
1372
    *ZOtag = ZItag;
1475
}
1373
}
1476
 
1374
 
1477
static void
1375
static void
1478
ZRtype_Hqualifier_Hopt PROTO_N ((ZOcv))
1376
ZRtype_Hqualifier_Hopt(unsigned *ZOcv)
1479
  PROTO_T (unsigned *ZOcv)
-
 
1480
{
1377
{
1481
    unsigned ZIcv;
1378
    unsigned ZIcv;
1482
 
1379
 
1483
    switch (CURRENT_TERMINAL) {
1380
    switch (CURRENT_TERMINAL) {
1484
      case 32: case 47:
1381
      case 33: case 48:
1485
	{
1382
	{
1486
	    ZRtype_Hqualifier (&ZIcv);
1383
	    ZRtype_Hqualifier (&ZIcv);
1487
	    if ((CURRENT_TERMINAL) == 74) {
1384
	    if ((CURRENT_TERMINAL) == 75) {
1488
		RESTORE_LEXER;
1385
		RESTORE_LEXER;
1489
		goto ZL1;
1386
		goto ZL1;
1490
	    }
1387
	    }
1491
	}
1388
	}
1492
	break;
1389
	break;
Line 1496... Line 1393...
1496
 
1393
 
1497
    (ZIcv) = 0 ;
1394
    (ZIcv) = 0 ;
1498
	    }
1395
	    }
1499
	}
1396
	}
1500
	break;
1397
	break;
1501
      case 74:
1398
      case 75:
1502
	return;
1399
	return;
1503
    }
1400
    }
1504
    goto ZL0;
1401
    goto ZL0;
1505
  ZL1:;
1402
  ZL1:;
1506
    SAVE_LEXER (74);
1403
    SAVE_LEXER (75);
1507
    return;
1404
    return;
1508
  ZL0:;
1405
  ZL0:;
1509
    *ZOcv = ZIcv;
1406
    *ZOcv = ZIcv;
1510
}
1407
}
1511
 
1408
 
1512
static void
1409
static void
1513
ZRconstant_Hvalue PROTO_N ((ZOs))
1410
ZRconstant_Hvalue(SID_STRING *ZOs)
1514
  PROTO_T (SID_STRING *ZOs)
-
 
1515
{
1411
{
1516
    SID_STRING ZIs;
1412
    SID_STRING ZIs;
1517
 
1413
 
1518
    switch (CURRENT_TERMINAL) {
1414
    switch (CURRENT_TERMINAL) {
1519
      case 66:
1415
      case 67:
1520
	{
1416
	{
1521
	    SID_STRING ZIa;
1417
	    SID_STRING ZIa;
1522
 
1418
 
1523
	    ADVANCE_LEXER;
1419
	    ADVANCE_LEXER;
1524
	    ZRconstant_Hvalue (&ZIa);
1420
	    ZRconstant_Hvalue (&ZIa);
1525
	    if ((CURRENT_TERMINAL) == 74) {
1421
	    if ((CURRENT_TERMINAL) == 75) {
1526
		RESTORE_LEXER;
1422
		RESTORE_LEXER;
1527
		goto ZL1;
1423
		goto ZL1;
1528
	    }
1424
	    }
1529
	    {
1425
	    {
1530
 
1426
 
1531
    (ZIs) = string_concat ( "!", (ZIa) ) ;
1427
    (ZIs) = string_concat ( "!", (ZIa) ) ;
1532
	    }
1428
	    }
1533
	}
1429
	}
1534
	break;
1430
	break;
1535
      case 5:
1431
      case 5:
1536
	{
1432
	{
1537
	    {
1433
	    {
1538
 ZIs = token_value ; 
1434
 ZIs = token_value ; 
1539
	    }
1435
	    }
1540
	    ADVANCE_LEXER;
1436
	    ADVANCE_LEXER;
1541
	}
1437
	}
1542
	break;
1438
	break;
1543
      case 67:
1439
      case 68:
1544
	{
1440
	{
1545
	    SID_STRING ZIa;
1441
	    SID_STRING ZIa;
1546
 
1442
 
1547
	    ADVANCE_LEXER;
1443
	    ADVANCE_LEXER;
1548
	    ZRconstant_Hvalue (&ZIa);
1444
	    ZRconstant_Hvalue (&ZIa);
1549
	    if ((CURRENT_TERMINAL) == 74) {
1445
	    if ((CURRENT_TERMINAL) == 75) {
1550
		RESTORE_LEXER;
1446
		RESTORE_LEXER;
1551
		goto ZL1;
1447
		goto ZL1;
1552
	    }
1448
	    }
1553
	    {
1449
	    {
1554
 
1450
 
Line 1571... Line 1467...
1571
	error ( ERR_SERIOUS, "Undefined NAT, '%s'", (ZIa) ) ;
1467
	error ( ERR_SERIOUS, "Undefined NAT, '%s'", (ZIa) ) ;
1572
    } else if ( p->objtype != OBJ_NAT ) {
1468
    } else if ( p->objtype != OBJ_NAT ) {
1573
	error ( ERR_SERIOUS, "'%s' is not a NAT", (ZIa) ) ;
1469
	error ( ERR_SERIOUS, "'%s' is not a NAT", (ZIa) ) ;
1574
    }
1470
    }
1575
    (ZIs) = (ZIa) ;
1471
    (ZIs) = (ZIa) ;
1576
	    }
1472
	    }
1577
	}
1473
	}
1578
	break;
1474
	break;
1579
      case 1:
1475
      case 1:
1580
	{
1476
	{
1581
	    {
1477
	    {
1582
 ZIs = token_value ; 
1478
 ZIs = token_value ; 
1583
	    }
1479
	    }
1584
	    ADVANCE_LEXER;
1480
	    ADVANCE_LEXER;
1585
	}
1481
	}
1586
	break;
1482
	break;
1587
      case 74:
1483
      case 75:
1588
	return;
1484
	return;
1589
      default:
1485
      default:
1590
	goto ZL1;
1486
	goto ZL1;
1591
    }
1487
    }
1592
    goto ZL0;
1488
    goto ZL0;
1593
  ZL1:;
1489
  ZL1:;
1594
    SAVE_LEXER (74);
1490
    SAVE_LEXER (75);
1595
    return;
1491
    return;
1596
  ZL0:;
1492
  ZL0:;
1597
    *ZOs = ZIs;
1493
    *ZOs = ZIs;
1598
}
1494
}
1599
 
1495
 
1600
static void
1496
static void
1601
ZR318 PROTO_N ((ZIa, ZOs))
-
 
1602
  PROTO_T (SID_STRING *ZIa X SID_STRING *ZOs)
1497
ZR318(SID_IDENTIFIER ZI312, SID_TYPE ZI313, SID_IDENTIFIER *ZO316, SID_TYPE *ZO317)
1603
{
1498
{
-
 
1499
    SID_IDENTIFIER ZI316;
1604
    SID_STRING ZIs;
1500
    SID_TYPE ZI317;
1605
 
1501
 
-
 
1502
  ZL2_318:;
1606
    switch (CURRENT_TERMINAL) {
1503
    switch (CURRENT_TERMINAL) {
1607
      case 61:
1504
      case 56: case 58:
1608
	{
1505
	{
1609
	    SID_STRING ZIb;
1506
	    SID_IDENTIFIER ZIid;
-
 
1507
 
-
 
1508
	    ZIid = ZI312;
-
 
1509
	    {
-
 
1510
		switch (CURRENT_TERMINAL) {
-
 
1511
		  case 58:
-
 
1512
		    {
-
 
1513
			SID_TYPE ZIs;
-
 
1514
			SID_TYPE ZIt;
-
 
1515
 
-
 
1516
			ZRarray_Hoperator (&ZIs);
-
 
1517
			if ((CURRENT_TERMINAL) == 75) {
-
 
1518
			    RESTORE_LEXER;
-
 
1519
			    goto ZL1;
-
 
1520
			}
-
 
1521
			{
-
 
1522
 
-
 
1523
    (ZIt) = inject_type ( (ZI313), (ZIs) ) ;
-
 
1524
			}
-
 
1525
			ZI312 = ZIid;
-
 
1526
			ZI313 = ZIt;
-
 
1527
			goto ZL2_318;
-
 
1528
		    }
-
 
1529
		    /*UNREACHED*/
-
 
1530
		  case 56:
-
 
1531
		    {
-
 
1532
			SID_TYPE ZIs;
-
 
1533
			SID_TYPE ZIt;
-
 
1534
 
-
 
1535
			ZRfunction_Hoperator (&ZIs);
-
 
1536
			if ((CURRENT_TERMINAL) == 75) {
-
 
1537
			    RESTORE_LEXER;
-
 
1538
			    goto ZL1;
-
 
1539
			}
-
 
1540
			{
1610
 
1541
 
-
 
1542
    (ZIt) = inject_type ( (ZI313), (ZIs) ) ;
-
 
1543
			}
1611
	    ADVANCE_LEXER;
1544
			ZI312 = ZIid;
1612
	    switch (CURRENT_TERMINAL) {
1545
			ZI313 = ZIt;
1613
	      case 2:
1546
			goto ZL2_318;
1614
		{
1547
		    }
-
 
1548
		    /*UNREACHED*/
-
 
1549
		  default:
1615
 ZIb = token_value ; 
1550
		    goto ZL1;
1616
		}
1551
		}
1617
		break;
-
 
1618
	      default:
-
 
1619
		goto ZL1;
-
 
1620
	    }
-
 
1621
	    ADVANCE_LEXER;
-
 
1622
	    ZR319 (ZIa, &ZIb, &ZIs);
-
 
1623
	    if ((CURRENT_TERMINAL) == 74) {
-
 
1624
		RESTORE_LEXER;
-
 
1625
		goto ZL1;
-
 
1626
	    }
1552
	    }
1627
	}
1553
	}
1628
	break;
1554
	/*UNREACHED*/
1629
      default:
1555
      default:
1630
	{
1556
	{
1631
	    {
1557
	    ZI316 = ZI312;
1632
 
-
 
1633
    (ZIs) = subset_name ( (*ZIa), null_str, null_str ) ;
-
 
1634
	    }
1558
	    ZI317 = ZI313;
1635
	}
1559
	}
1636
	break;
1560
	break;
1637
      case 74:
1561
      case 75:
1638
	return;
1562
	return;
1639
    }
1563
    }
1640
    goto ZL0;
1564
    goto ZL0;
1641
  ZL1:;
1565
  ZL1:;
1642
    SAVE_LEXER (74);
1566
    SAVE_LEXER (75);
1643
    return;
1567
    return;
1644
  ZL0:;
1568
  ZL0:;
-
 
1569
    *ZO316 = ZI316;
1645
    *ZOs = ZIs;
1570
    *ZO317 = ZI317;
1646
}
1571
}
1647
 
1572
 
1648
static void
1573
static void
1649
ZRspec_Hcommand PROTO_N ((ZOc))
1574
ZRspec_Hcommand(SID_COMMAND *ZOc)
1650
  PROTO_T (SID_COMMAND *ZOc)
-
 
1651
{
1575
{
1652
    SID_COMMAND ZIc;
1576
    SID_COMMAND ZIc;
1653
 
1577
 
1654
    switch (CURRENT_TERMINAL) {
1578
    switch (CURRENT_TERMINAL) {
1655
      case 7:
1579
      case 7:
Line 1669... Line 1593...
1669
 
1593
 
1670
	    ADVANCE_LEXER;
1594
	    ADVANCE_LEXER;
1671
	    ZRidentifier (&ZIid);
1595
	    ZRidentifier (&ZIid);
1672
	    ZRdefine_Hparam_Hclause (&ZIp);
1596
	    ZRdefine_Hparam_Hclause (&ZIp);
1673
	    ZRconstant_Hvalue (&ZIs);
1597
	    ZRconstant_Hvalue (&ZIs);
1674
	    if ((CURRENT_TERMINAL) == 74) {
1598
	    if ((CURRENT_TERMINAL) == 75) {
1675
		RESTORE_LEXER;
1599
		RESTORE_LEXER;
1676
		goto ZL1;
1600
		goto ZL1;
1677
	    }
1601
	    }
1678
	    {
1602
	    {
1679
 
1603
 
1680
    char *def ;
1604
    char *def ;
1681
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_DEFINE ) ;
1605
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_DEFINE ) ;
-
 
1606
    if ( (ZIp) ) {
-
 
1607
	if ( *(ZIp) ) {
-
 
1608
	    def = string_printf ( "( %s ) %s", (ZIp), (ZIs) ) ;
-
 
1609
	} else {
-
 
1610
	    def = string_printf ( "() %s", (ZIs) ) ;
-
 
1611
	}
-
 
1612
    } else {
-
 
1613
	def = string_printf ( " %s", (ZIs) ) ;
-
 
1614
    }
-
 
1615
    p->u.u_str = def ;
-
 
1616
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, p, OBJ_EXTERN ) ;
-
 
1617
	    }
-
 
1618
	}
-
 
1619
	break;
-
 
1620
      case 30:
-
 
1621
	{
-
 
1622
	    SID_IDENTIFIER ZIid;
-
 
1623
	    SID_STRING ZIp;
-
 
1624
	    SID_STRING ZIs;
-
 
1625
 
-
 
1626
	    ADVANCE_LEXER;
-
 
1627
	    ZRidentifier (&ZIid);
-
 
1628
	    ZRdefine_Hparam_Hclause (&ZIp);
-
 
1629
	    ZRconstant_Hvalue (&ZIs);
-
 
1630
	    if ((CURRENT_TERMINAL) == 75) {
-
 
1631
		RESTORE_LEXER;
-
 
1632
		goto ZL1;
-
 
1633
	    }
-
 
1634
	    {
-
 
1635
 
-
 
1636
    char *def ;
-
 
1637
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_DEFMIN ) ;
1682
    if ( (ZIp) ) {
1638
    if ( (ZIp) ) {
1683
	if ( *(ZIp) ) {
1639
	if ( *(ZIp) ) {
1684
	    def = string_printf ( "( %s ) %s", (ZIp), (ZIs) ) ;
1640
	    def = string_printf ( "( %s ) %s", (ZIp), (ZIs) ) ;
1685
	} else {
1641
	} else {
1686
	    def = string_printf ( "() %s", (ZIs) ) ;
1642
	    def = string_printf ( "() %s", (ZIs) ) ;
Line 1699... Line 1655...
1699
	    SID_IDENTIFIER ZIid;
1655
	    SID_IDENTIFIER ZIid;
1700
	    SID_COMMAND ZIe;
1656
	    SID_COMMAND ZIe;
1701
 
1657
 
1702
	    ADVANCE_LEXER;
1658
	    ADVANCE_LEXER;
1703
	    ZRenum_Hcommand (&ZItag);
1659
	    ZRenum_Hcommand (&ZItag);
1704
	    ZRidentifier (&ZIid);
1660
	    ZRidentifier (&ZIid);
1705
	    switch (CURRENT_TERMINAL) {
1661
	    switch (CURRENT_TERMINAL) {
1706
	      case 59:
1662
	      case 60:
1707
		break;
1663
		break;
1708
	      case 74:
1664
	      case 75:
1709
		RESTORE_LEXER;
1665
		RESTORE_LEXER;
1710
		goto ZL1;
1666
		goto ZL1;
1711
	      default:
1667
	      default:
1712
		goto ZL1;
1668
		goto ZL1;
1713
	    }
1669
	    }
1714
	    ADVANCE_LEXER;
1670
	    ADVANCE_LEXER;
1715
	    switch (CURRENT_TERMINAL) {
1671
	    switch (CURRENT_TERMINAL) {
1716
	      case 53:
1672
	      case 54:
1717
		break;
1673
		break;
1718
	      default:
1674
	      default:
1719
		goto ZL1;
1675
		goto ZL1;
1720
	    }
1676
	    }
1721
	    ADVANCE_LEXER;
1677
	    ADVANCE_LEXER;
1722
	    ZRenumerator_Hlist (&ZIe);
1678
	    ZRenumerator_Hlist (&ZIe);
1723
	    switch (CURRENT_TERMINAL) {
1679
	    switch (CURRENT_TERMINAL) {
1724
	      case 54:
1680
	      case 55:
1725
		break;
1681
		break;
1726
	      case 74:
1682
	      case 75:
1727
		RESTORE_LEXER;
1683
		RESTORE_LEXER;
1728
		goto ZL1;
1684
		goto ZL1;
1729
	      default:
1685
	      default:
1730
		goto ZL1;
1686
		goto ZL1;
1731
	    }
1687
	    }
1732
	    ADVANCE_LEXER;
1688
	    ADVANCE_LEXER;
1733
	    {
1689
	    {
1734
 
1690
 
Line 1749... Line 1705...
1749
 
1705
 
1750
	    ADVANCE_LEXER;
1706
	    ADVANCE_LEXER;
1751
	    ZRtype_Hcommand (&ZItag);
1707
	    ZRtype_Hcommand (&ZItag);
1752
	    ZRidentifier (&ZIid);
1708
	    ZRidentifier (&ZIid);
1753
	    ZRfield_Hexact (&ZIe);
1709
	    ZRfield_Hexact (&ZIe);
1754
	    if ((CURRENT_TERMINAL) == 74) {
1710
	    if ((CURRENT_TERMINAL) == 75) {
1755
		RESTORE_LEXER;
1711
		RESTORE_LEXER;
1756
		goto ZL1;
1712
		goto ZL1;
1757
	    }
1713
	    }
1758
	    {
1714
	    {
1759
 
1715
 
Line 1776... Line 1732...
1776
	    error ( ERR_SERIOUS, "Illegal field type, '%s'", (ZIid).iname ) ;
1732
	    error ( ERR_SERIOUS, "Illegal field type, '%s'", (ZIid).iname ) ;
1777
	    break ;
1733
	    break ;
1778
	}
1734
	}
1779
    }
1735
    }
1780
    crt_field_name = (ZIt)->u.obj->name ;
1736
    crt_field_name = (ZIt)->u.obj->name ;
1781
	    }
1737
	    }
1782
	    switch (CURRENT_TERMINAL) {
1738
	    switch (CURRENT_TERMINAL) {
1783
	      case 53:
1739
	      case 54:
1784
		break;
1740
		break;
1785
	      default:
1741
	      default:
1786
		goto ZL1;
1742
		goto ZL1;
1787
	    }
1743
	    }
1788
	    ADVANCE_LEXER;
1744
	    ADVANCE_LEXER;
1789
	    ZRfield_Hlist (ZIt, &ZIb);
1745
	    ZRfield_Hlist (ZIt, &ZIb);
1790
	    switch (CURRENT_TERMINAL) {
1746
	    switch (CURRENT_TERMINAL) {
1791
	      case 54:
1747
	      case 55:
1792
		break;
1748
		break;
1793
	      case 74:
1749
	      case 75:
1794
		RESTORE_LEXER;
1750
		RESTORE_LEXER;
1795
		goto ZL1;
1751
		goto ZL1;
1796
	      default:
1752
	      default:
1797
		goto ZL1;
1753
		goto ZL1;
1798
	    }
1754
	    }
Line 1804... Line 1760...
1804
	    char *nm = crt_field_name ;
1760
	    char *nm = crt_field_name ;
1805
	    error ( ERR_SERIOUS, "Redefinition of type '%s'", nm ) ;
1761
	    error ( ERR_SERIOUS, "Redefinition of type '%s'", nm ) ;
1806
	}
1762
	}
1807
	if ( (ZIb) == null ) {
1763
	if ( (ZIb) == null ) {
1808
	    error ( ERR_SERIOUS, "Empty struct/union definition" ) ;
1764
	    error ( ERR_SERIOUS, "Empty struct/union definition" ) ;
1809
	} else {
1765
	} else {
1810
	    (ZIt)->v.obj2 = (ZIb) ;
1766
	    (ZIt)->v.obj2 = (ZIb) ;
1811
	}
1767
	}
1812
	if ( (ZIa) == null ) {
1768
	if ( (ZIa) == null ) {
1813
	    /* This is a hack, do properly later */
1769
	    /* This is a hack, do properly later */
1814
	    (ZIc) = make_object ( null_str, OBJ_TYPE ) ;
1770
	    (ZIc) = make_object ( null_str, OBJ_TYPE ) ;
Line 1838... Line 1794...
1838
	    {
1794
	    {
1839
 (ZIcmd) = OBJ_IMPLEMENT ; 
1795
 (ZIcmd) = OBJ_IMPLEMENT ; 
1840
	    }
1796
	    }
1841
	    ZRsubset_Hname (&ZIs);
1797
	    ZRsubset_Hname (&ZIs);
1842
	    ZRsubset_Hkey (&ZIkey);
1798
	    ZRsubset_Hkey (&ZIkey);
1843
	    if ((CURRENT_TERMINAL) == 74) {
1799
	    if ((CURRENT_TERMINAL) == 75) {
1844
		RESTORE_LEXER;
1800
		RESTORE_LEXER;
1845
		goto ZL1;
1801
		goto ZL1;
1846
	    }
1802
	    }
1847
	    {
1803
	    {
1848
 
1804
 
1849
    object *p = make_subset ( (ZIs) ) ;
1805
    object *p = make_subset ( (ZIs) ) ;
1850
    update_time ( crt_object, p ) ;
1806
    update_time ( crt_object, p ) ;
1851
    (ZIc) = make_object ( (ZIkey), (ZIcmd) ) ;
1807
    (ZIc) = make_object ( (ZIkey), (ZIcmd) ) ;
1852
    (ZIc)->u.u_obj = p ;
1808
    (ZIc)->u.u_obj = p ;
1853
	    }
1809
	    }
Line 1866... Line 1822...
1866
 
1822
 
1867
	    ADVANCE_LEXER;
1823
	    ADVANCE_LEXER;
1868
	    ZRobject_Hqualifier (&ZIlv);
1824
	    ZRobject_Hqualifier (&ZIlv);
1869
	    ZRqualified_Htype (&ZIs);
1825
	    ZRqualified_Htype (&ZIs);
1870
	    ZRmacro_Hdeclarator (&ZIid, &ZIp);
1826
	    ZRmacro_Hdeclarator (&ZIid, &ZIp);
1871
	    if ((CURRENT_TERMINAL) == 74) {
1827
	    if ((CURRENT_TERMINAL) == 75) {
1872
		RESTORE_LEXER;
1828
		RESTORE_LEXER;
1873
		goto ZL1;
1829
		goto ZL1;
1874
	    }
1830
	    }
1875
	    {
1831
	    {
1876
 
1832
 
1877
    (ZIu) = inject_type ( (ZIp), (ZIs) ) ;
1833
    (ZIu) = inject_type ( (ZIp), (ZIs) ) ;
1878
	    }
1834
	    }
1879
	    {
1835
	    {
1880
 
1836
 
1881
    (ZIv) = make_subtype ( (ZIu), (ZIlv) ) ;
1837
    (ZIv) = make_subtype ( (ZIu), (ZIlv) ) ;
1882
	    }
1838
	    }
1883
	    ZR285 (&ZIq);
1839
	    ZR287 (&ZIq);
1884
	    if ((CURRENT_TERMINAL) == 74) {
1840
	    if ((CURRENT_TERMINAL) == 75) {
1885
		RESTORE_LEXER;
1841
		RESTORE_LEXER;
1886
		goto ZL1;
1842
		goto ZL1;
1887
	    }
1843
	    }
1888
	    {
1844
	    {
1889
 
1845
 
1890
    (ZIt) = inject_type ( (ZIq), (ZIv) ) ;
1846
    (ZIt) = inject_type ( (ZIq), (ZIv) ) ;
1891
	    }
1847
	    }
1892
	    {
1848
	    {
1893
 
1849
 
1894
    object *p ;
1850
    object *p ;
1895
    int cmd = OBJ_MACRO ;
1851
    int cmd = OBJ_MACRO ;
1896
    if ( (ZIt)->id != TYPE_PROC ) cmd = OBJ_EXP ;
1852
    if ( (ZIt)->id != TYPE_PROC ) cmd = OBJ_EXP ;
Line 1902... Line 1858...
1902
	break;
1858
	break;
1903
      case 22:
1859
      case 22:
1904
	{
1860
	{
1905
	    ADVANCE_LEXER;
1861
	    ADVANCE_LEXER;
1906
	    ZRnat_Hdeclarator_Hlist (&ZIc);
1862
	    ZRnat_Hdeclarator_Hlist (&ZIc);
1907
	    if ((CURRENT_TERMINAL) == 74) {
1863
	    if ((CURRENT_TERMINAL) == 75) {
1908
		RESTORE_LEXER;
1864
		RESTORE_LEXER;
1909
		goto ZL1;
1865
		goto ZL1;
1910
	    }
1866
	    }
1911
	}
1867
	}
1912
	break;
1868
	break;
1913
      case 24:
1869
      case 24:
1914
	{
1870
	{
1915
	    SID_IDENTIFIER ZIid;
1871
	    SID_IDENTIFIER ZIid;
1916
	    SID_TYPE ZIt;
1872
	    SID_TYPE ZIt;
1917
 
1873
 
1918
	    ADVANCE_LEXER;
1874
	    ADVANCE_LEXER;
1919
	    ZRidentifier (&ZIid);
1875
	    ZRidentifier (&ZIid);
1920
	    ZR285 (&ZIt);
1876
	    ZR287 (&ZIt);
1921
	    if ((CURRENT_TERMINAL) == 74) {
1877
	    if ((CURRENT_TERMINAL) == 75) {
1922
		RESTORE_LEXER;
1878
		RESTORE_LEXER;
1923
		goto ZL1;
1879
		goto ZL1;
1924
	    }
1880
	    }
1925
	    {
1881
	    {
1926
 
1882
 
Line 1941... Line 1897...
1941
	      case 5:
1897
	      case 5:
1942
		{
1898
		{
1943
 ZIs = token_value ; 
1899
 ZIs = token_value ; 
1944
		}
1900
		}
1945
		break;
1901
		break;
1946
	      case 74:
1902
	      case 75:
1947
		RESTORE_LEXER;
1903
		RESTORE_LEXER;
1948
		goto ZL1;
1904
		goto ZL1;
1949
	      default:
1905
	      default:
1950
		goto ZL1;
1906
		goto ZL1;
1951
	    }
1907
	    }
Line 1960... Line 1916...
1960
	break;
1916
	break;
1961
      case 27:
1917
      case 27:
1962
	{
1918
	{
1963
	    ADVANCE_LEXER;
1919
	    ADVANCE_LEXER;
1964
	    ZRtype_Hdeclarator_Hlist (&ZIc);
1920
	    ZRtype_Hdeclarator_Hlist (&ZIc);
1965
	    if ((CURRENT_TERMINAL) == 74) {
1921
	    if ((CURRENT_TERMINAL) == 75) {
1966
		RESTORE_LEXER;
1922
		RESTORE_LEXER;
1967
		goto ZL1;
1923
		goto ZL1;
1968
	    }
1924
	    }
1969
	}
1925
	}
1970
	break;
1926
	break;
1971
      case 28:
1927
      case 28:
1972
	{
1928
	{
1973
	    ADVANCE_LEXER;
1929
	    ADVANCE_LEXER;
1974
	    ZR320 (&ZIc);
1930
	    ZR322 (&ZIc);
1975
	    if ((CURRENT_TERMINAL) == 74) {
1931
	    if ((CURRENT_TERMINAL) == 75) {
1976
		RESTORE_LEXER;
1932
		RESTORE_LEXER;
1977
		goto ZL1;
1933
		goto ZL1;
1978
	    }
1934
	    }
1979
	}
1935
	}
1980
	break;
1936
	break;
Line 1984... Line 1940...
1984
 
1940
 
1985
	    ADVANCE_LEXER;
1941
	    ADVANCE_LEXER;
1986
	    {
1942
	    {
1987
 (ZIcmd) = OBJ_USE ; 
1943
 (ZIcmd) = OBJ_USE ; 
1988
	    }
1944
	    }
1989
	    ZR321 (&ZIcmd, &ZIc);
1945
	    ZR323 (&ZIcmd, &ZIc);
1990
	    if ((CURRENT_TERMINAL) == 74) {
1946
	    if ((CURRENT_TERMINAL) == 75) {
1991
		RESTORE_LEXER;
1947
		RESTORE_LEXER;
1992
		goto ZL1;
1948
		goto ZL1;
1993
	    }
1949
	    }
1994
	}
1950
	}
1995
	break;
1951
	break;
Line 2000... Line 1956...
2000
	    int ZIlv;
1956
	    int ZIlv;
2001
	    SID_TYPE ZIt;
1957
	    SID_TYPE ZIt;
2002
 
1958
 
2003
	    ZRexp_Hcommand (&ZIcmd);
1959
	    ZRexp_Hcommand (&ZIcmd);
2004
	    ZRobject_Hqualifier (&ZIlv1);
1960
	    ZRobject_Hqualifier (&ZIlv1);
2005
	    if ((CURRENT_TERMINAL) == 74) {
1961
	    if ((CURRENT_TERMINAL) == 75) {
2006
		RESTORE_LEXER;
1962
		RESTORE_LEXER;
2007
		goto ZL1;
1963
		goto ZL1;
2008
	    }
1964
	    }
2009
	    {
1965
	    {
2010
 
1966
 
Line 2019... Line 1975...
2019
	(ZIlv) = (ZIlv1) ;
1975
	(ZIlv) = (ZIlv1) ;
2020
    }
1976
    }
2021
	    }
1977
	    }
2022
	    ZRqualified_Htype (&ZIt);
1978
	    ZRqualified_Htype (&ZIt);
2023
	    ZRexp_Hdeclarator_Hlist (ZIcmd, ZIt, ZIlv, &ZIc);
1979
	    ZRexp_Hdeclarator_Hlist (ZIcmd, ZIt, ZIlv, &ZIc);
2024
	    if ((CURRENT_TERMINAL) == 74) {
1980
	    if ((CURRENT_TERMINAL) == 75) {
2025
		RESTORE_LEXER;
1981
		RESTORE_LEXER;
2026
		goto ZL1;
1982
		goto ZL1;
2027
	    }
1983
	    }
2028
	}
1984
	}
2029
	break;
1985
	break;
Line 2036... Line 1992...
2036
	    SID_TYPE ZIt;
1992
	    SID_TYPE ZIt;
2037
 
1993
 
2038
	    ZRfunc_Hcommand (&ZIcmd);
1994
	    ZRfunc_Hcommand (&ZIcmd);
2039
	    ZRqualified_Htype (&ZIs);
1995
	    ZRqualified_Htype (&ZIs);
2040
	    ZRdeclarator (&ZIid, &ZIp);
1996
	    ZRdeclarator (&ZIid, &ZIp);
2041
	    if ((CURRENT_TERMINAL) == 74) {
1997
	    if ((CURRENT_TERMINAL) == 75) {
2042
		RESTORE_LEXER;
1998
		RESTORE_LEXER;
2043
		goto ZL1;
1999
		goto ZL1;
2044
	    }
2000
	    }
2045
	    {
2001
	    {
2046
 
2002
 
2047
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2003
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2048
	    }
2004
	    }
2049
	    {
2005
	    {
2050
 
2006
 
2051
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, (ZIcmd) ) ;
2007
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, (ZIcmd) ) ;
2052
    p->u.u_type = check_type ( (ZIt), OBJ_FUNC ) ;
2008
    p->u.u_type = check_type ( (ZIt), OBJ_FUNC ) ;
2053
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, p, (ZIcmd) ) ;
2009
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, p, (ZIcmd) ) ;
2054
	    }
2010
	    }
2055
	}
2011
	}
2056
	break;
2012
	break;
2057
      case 23:
2013
      case 23:
2058
	{
2014
	{
2059
	    ZRsubset_Hcommand (&ZIc);
2015
	    ZRsubset_Hcommand (&ZIc);
-
 
2016
	    if ((CURRENT_TERMINAL) == 75) {
-
 
2017
		RESTORE_LEXER;
-
 
2018
		goto ZL1;
-
 
2019
	    }
-
 
2020
	}
-
 
2021
	break;
-
 
2022
      case 75:
-
 
2023
	return;
-
 
2024
      default:
-
 
2025
	goto ZL1;
-
 
2026
    }
-
 
2027
    goto ZL0;
-
 
2028
  ZL1:;
-
 
2029
    SAVE_LEXER (75);
-
 
2030
    return;
-
 
2031
  ZL0:;
-
 
2032
    *ZOc = ZIc;
-
 
2033
}
-
 
2034
 
-
 
2035
static void
-
 
2036
ZRfunc_Hcommand(int *ZOcmd)
-
 
2037
{
-
 
2038
    int ZIcmd;
-
 
2039
 
-
 
2040
    if ((CURRENT_TERMINAL) == 75) {
-
 
2041
	return;
-
 
2042
    }
-
 
2043
    {
-
 
2044
	switch (CURRENT_TERMINAL) {
-
 
2045
	  case 15:
-
 
2046
	    break;
-
 
2047
	  default:
-
 
2048
	    goto ZL1;
-
 
2049
	}
-
 
2050
	ADVANCE_LEXER;
-
 
2051
	ZR348 (&ZIcmd);
-
 
2052
	if ((CURRENT_TERMINAL) == 75) {
-
 
2053
	    RESTORE_LEXER;
-
 
2054
	    goto ZL1;
-
 
2055
	}
-
 
2056
    }
-
 
2057
    goto ZL0;
-
 
2058
  ZL1:;
-
 
2059
    SAVE_LEXER (75);
-
 
2060
    return;
-
 
2061
  ZL0:;
-
 
2062
    *ZOcmd = ZIcmd;
-
 
2063
}
-
 
2064
 
-
 
2065
static void
-
 
2066
ZR320(SID_STRING *ZIa, SID_STRING *ZOs)
-
 
2067
{
-
 
2068
    SID_STRING ZIs;
-
 
2069
 
-
 
2070
    switch (CURRENT_TERMINAL) {
-
 
2071
      case 62:
-
 
2072
	{
-
 
2073
	    SID_STRING ZIb;
-
 
2074
 
-
 
2075
	    ADVANCE_LEXER;
-
 
2076
	    switch (CURRENT_TERMINAL) {
-
 
2077
	      case 2:
-
 
2078
		{
-
 
2079
 ZIb = token_value ; 
-
 
2080
		}
-
 
2081
		break;
-
 
2082
	      default:
-
 
2083
		goto ZL1;
-
 
2084
	    }
-
 
2085
	    ADVANCE_LEXER;
-
 
2086
	    ZR321 (ZIa, &ZIb, &ZIs);
2060
	    if ((CURRENT_TERMINAL) == 74) {
2087
	    if ((CURRENT_TERMINAL) == 75) {
2061
		RESTORE_LEXER;
2088
		RESTORE_LEXER;
2062
		goto ZL1;
2089
		goto ZL1;
2063
	    }
2090
	    }
2064
	}
2091
	}
2065
	break;
2092
	break;
-
 
2093
      default:
-
 
2094
	{
-
 
2095
	    {
-
 
2096
 
-
 
2097
    (ZIs) = subset_name ( (*ZIa), null_str, null_str ) ;
-
 
2098
	    }
-
 
2099
	}
-
 
2100
	break;
2066
      case 74:
2101
      case 75:
2067
	return;
2102
	return;
2068
      default:
-
 
2069
	goto ZL1;
-
 
2070
    }
2103
    }
2071
    goto ZL0;
2104
    goto ZL0;
2072
  ZL1:;
2105
  ZL1:;
2073
    SAVE_LEXER (74);
2106
    SAVE_LEXER (75);
2074
    return;
2107
    return;
2075
  ZL0:;
2108
  ZL0:;
2076
    *ZOc = ZIc;
2109
    *ZOs = ZIs;
2077
}
2110
}
2078
 
2111
 
2079
static void
2112
static void
2080
ZR319 PROTO_N ((ZIa, ZIb, ZOs))
-
 
2081
  PROTO_T (SID_STRING *ZIa X SID_STRING *ZIb X SID_STRING *ZOs)
2113
ZR321(SID_STRING *ZIa, SID_STRING *ZIb, SID_STRING *ZOs)
2082
{
2114
{
2083
    SID_STRING ZIs;
2115
    SID_STRING ZIs;
2084
 
2116
 
2085
    switch (CURRENT_TERMINAL) {
2117
    switch (CURRENT_TERMINAL) {
2086
      case 61:
2118
      case 62:
2087
	{
2119
	{
2088
	    SID_STRING ZIc;
2120
	    SID_STRING ZIc;
2089
 
2121
 
2090
	    ADVANCE_LEXER;
2122
	    ADVANCE_LEXER;
2091
	    switch (CURRENT_TERMINAL) {
2123
	    switch (CURRENT_TERMINAL) {
Line 2100... Line 2132...
2100
	    ADVANCE_LEXER;
2132
	    ADVANCE_LEXER;
2101
	    {
2133
	    {
2102
 
2134
 
2103
    if ( (*ZIb) [0] == 0 ) (*ZIb) = null ;
2135
    if ( (*ZIb) [0] == 0 ) (*ZIb) = null ;
2104
    (ZIs) = subset_name ( (*ZIa), (*ZIb), (ZIc) ) ;
2136
    (ZIs) = subset_name ( (*ZIa), (*ZIb), (ZIc) ) ;
2105
	    }
2137
	    }
2106
	}
2138
	}
2107
	break;
2139
	break;
2108
      default:
2140
      default:
2109
	{
2141
	{
2110
	    {
2142
	    {
2111
 
2143
 
2112
    (ZIs) = subset_name ( (*ZIa), (*ZIb), null_str ) ;
2144
    (ZIs) = subset_name ( (*ZIa), (*ZIb), null_str ) ;
2113
	    }
2145
	    }
2114
	}
2146
	}
2115
	break;
2147
	break;
2116
      case 74:
2148
      case 75:
2117
	return;
2149
	return;
2118
    }
2150
    }
2119
    goto ZL0;
2151
    goto ZL0;
2120
  ZL1:;
2152
  ZL1:;
2121
    SAVE_LEXER (74);
2153
    SAVE_LEXER (75);
2122
    return;
2154
    return;
2123
  ZL0:;
2155
  ZL0:;
2124
    *ZOs = ZIs;
2156
    *ZOs = ZIs;
2125
}
2157
}
2126
 
2158
 
2127
static void
2159
static void
2128
ZRfunc_Hcommand PROTO_N ((ZOcmd))
2160
ZRarray_Hoperator(SID_TYPE *ZOt)
2129
  PROTO_T (int *ZOcmd)
-
 
2130
{
2161
{
2131
    int ZIcmd;
2162
    SID_TYPE ZIt;
2132
 
2163
 
2133
    if ((CURRENT_TERMINAL) == 74) {
2164
    if ((CURRENT_TERMINAL) == 75) {
2134
	return;
2165
	return;
2135
    }
2166
    }
2136
    {
2167
    {
-
 
2168
	SID_STRING ZIa;
-
 
2169
 
2137
	switch (CURRENT_TERMINAL) {
2170
	switch (CURRENT_TERMINAL) {
2138
	  case 15:
2171
	  case 58:
2139
	    break;
2172
	    break;
2140
	  default:
2173
	  default:
2141
	    goto ZL1;
2174
	    goto ZL1;
2142
	}
2175
	}
2143
	ADVANCE_LEXER;
2176
	ADVANCE_LEXER;
-
 
2177
	{
-
 
2178
	    switch (CURRENT_TERMINAL) {
-
 
2179
	      case 0: case 1: case 5: case 67: case 68:
-
 
2180
		{
2144
	ZR346 (&ZIcmd);
2181
		    ZRconstant_Hvalue (&ZIa);
2145
	if ((CURRENT_TERMINAL) == 74) {
2182
		    if ((CURRENT_TERMINAL) == 75) {
2146
	    RESTORE_LEXER;
2183
			RESTORE_LEXER;
-
 
2184
			goto ZL1;
-
 
2185
		    }
-
 
2186
		}
-
 
2187
		break;
-
 
2188
	      default:
-
 
2189
		{
-
 
2190
		    {
-
 
2191
 
-
 
2192
    (ZIa) = "" ;
-
 
2193
		    }
-
 
2194
		}
-
 
2195
		break;
-
 
2196
	    }
-
 
2197
	}
-
 
2198
	switch (CURRENT_TERMINAL) {
-
 
2199
	  case 59:
-
 
2200
	    break;
-
 
2201
	  default:
2147
	    goto ZL1;
2202
	    goto ZL1;
-
 
2203
	}
-
 
2204
	ADVANCE_LEXER;
-
 
2205
	{
-
 
2206
 
-
 
2207
    (ZIt) = make_subtype ( ( type * ) null, TYPE_ARRAY ) ;
-
 
2208
    (ZIt)->v.str = (ZIa) ;
2148
	}
2209
	}
2149
    }
2210
    }
2150
    goto ZL0;
2211
    goto ZL0;
2151
  ZL1:;
2212
  ZL1:;
2152
    SAVE_LEXER (74);
2213
    SAVE_LEXER (75);
2153
    return;
2214
    return;
2154
  ZL0:;
2215
  ZL0:;
2155
    *ZOcmd = ZIcmd;
2216
    *ZOt = ZIt;
2156
}
2217
}
2157
 
2218
 
2158
static void
2219
static void
2159
ZR320 PROTO_N ((ZOc))
-
 
2160
  PROTO_T (SID_COMMAND *ZOc)
2220
ZR322(SID_COMMAND *ZOc)
2161
{
2221
{
2162
    SID_COMMAND ZIc;
2222
    SID_COMMAND ZIc;
2163
 
2223
 
2164
    switch (CURRENT_TERMINAL) {
2224
    switch (CURRENT_TERMINAL) {
2165
      case 50:
2225
      case 51:
2166
	{
2226
	{
2167
	    SID_TYPE ZIt;
2227
	    SID_TYPE ZIt;
2168
	    SID_IDENTIFIER ZIid;
2228
	    SID_IDENTIFIER ZIid;
2169
 
2229
 
2170
	    ADVANCE_LEXER;
2230
	    ADVANCE_LEXER;
2171
	    switch (CURRENT_TERMINAL) {
2231
	    switch (CURRENT_TERMINAL) {
2172
	      case 55:
2232
	      case 56:
2173
		break;
2233
		break;
2174
	      default:
2234
	      default:
2175
		goto ZL1;
2235
		goto ZL1;
2176
	    }
2236
	    }
2177
	    ADVANCE_LEXER;
2237
	    ADVANCE_LEXER;
2178
	    ZRqualified_Htype (&ZIt);
2238
	    ZRqualified_Htype (&ZIt);
2179
	    switch (CURRENT_TERMINAL) {
2239
	    switch (CURRENT_TERMINAL) {
2180
	      case 56:
2240
	      case 57:
2181
		break;
2241
		break;
2182
	      case 74:
2242
	      case 75:
2183
		RESTORE_LEXER;
2243
		RESTORE_LEXER;
2184
		goto ZL1;
2244
		goto ZL1;
2185
	      default:
2245
	      default:
2186
		goto ZL1;
2246
		goto ZL1;
2187
	    }
2247
	    }
2188
	    ADVANCE_LEXER;
2248
	    ADVANCE_LEXER;
2189
	    ZRidentifier (&ZIid);
2249
	    ZRidentifier (&ZIid);
2190
	    if ((CURRENT_TERMINAL) == 74) {
2250
	    if ((CURRENT_TERMINAL) == 75) {
2191
		RESTORE_LEXER;
2251
		RESTORE_LEXER;
2192
		goto ZL1;
2252
		goto ZL1;
2193
	    }
2253
	    }
2194
	    {
2254
	    {
2195
 
2255
 
Line 2209... Line 2269...
2209
    t->v.next = s ;
2269
    t->v.next = s ;
2210
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2270
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2211
	    }
2271
	    }
2212
	}
2272
	}
2213
	break;
2273
	break;
2214
      case 52:
2274
      case 53:
2215
	{
2275
	{
2216
	    SID_STRING ZIs;
2276
	    SID_STRING ZIs;
2217
	    SID_TYPE ZIt;
2277
	    SID_TYPE ZIt;
2218
	    SID_IDENTIFIER ZIid;
2278
	    SID_IDENTIFIER ZIid;
2219
 
2279
 
2220
	    ADVANCE_LEXER;
2280
	    ADVANCE_LEXER;
2221
	    switch (CURRENT_TERMINAL) {
2281
	    switch (CURRENT_TERMINAL) {
2222
	      case 55:
2282
	      case 56:
2223
		break;
2283
		break;
2224
	      default:
2284
	      default:
2225
		goto ZL1;
2285
		goto ZL1;
2226
	    }
2286
	    }
2227
	    ADVANCE_LEXER;
2287
	    ADVANCE_LEXER;
Line 2234... Line 2294...
2234
	      default:
2294
	      default:
2235
		goto ZL1;
2295
		goto ZL1;
2236
	    }
2296
	    }
2237
	    ADVANCE_LEXER;
2297
	    ADVANCE_LEXER;
2238
	    switch (CURRENT_TERMINAL) {
2298
	    switch (CURRENT_TERMINAL) {
2239
	      case 56:
2299
	      case 57:
2240
		break;
2300
		break;
2241
	      default:
2301
	      default:
2242
		goto ZL1;
2302
		goto ZL1;
2243
	    }
2303
	    }
2244
	    ADVANCE_LEXER;
2304
	    ADVANCE_LEXER;
2245
	    {
2305
	    {
2246
 
2306
 
2247
    (ZIt) = special_type ( (ZIs) ) ;
2307
    (ZIt) = special_type ( (ZIs) ) ;
2248
	    }
2308
	    }
2249
	    ZRidentifier (&ZIid);
2309
	    ZRidentifier (&ZIid);
2250
	    if ((CURRENT_TERMINAL) == 74) {
2310
	    if ((CURRENT_TERMINAL) == 75) {
2251
		RESTORE_LEXER;
2311
		RESTORE_LEXER;
2252
		goto ZL1;
2312
		goto ZL1;
2253
	    }
2313
	    }
2254
	    {
2314
	    {
2255
 
2315
 
2256
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, TYPE_DEFINED ) ;
2316
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, TYPE_DEFINED ) ;
2257
    t->v.next = check_type ( (ZIt), OBJ_TYPE ) ;
2317
    t->v.next = check_type ( (ZIt), OBJ_TYPE ) ;
2258
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2318
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2259
	    }
2319
	    }
2260
	}
2320
	}
2261
	break;
2321
	break;
2262
      case 0: case 31: case 32: case 33: case 34:
2322
      case 0: case 32: case 33: case 34: case 35:
2263
      case 36: case 37: case 38: case 41: case 42:
2323
      case 37: case 38: case 39: case 42: case 43:
2264
      case 43: case 44: case 45: case 46: case 47:
2324
      case 44: case 45: case 46: case 47: case 48:
2265
	{
2325
	{
2266
	    SID_TYPE ZIs;
2326
	    SID_TYPE ZIs;
2267
	    SID_IDENTIFIER ZIid;
2327
	    SID_IDENTIFIER ZIid;
2268
	    SID_TYPE ZIp;
2328
	    SID_TYPE ZIp;
2269
	    SID_TYPE ZIt;
2329
	    SID_TYPE ZIt;
2270
 
2330
 
2271
	    ZRqualified_Htype (&ZIs);
2331
	    ZRqualified_Htype (&ZIs);
2272
	    ZRdeclarator (&ZIid, &ZIp);
2332
	    ZRdeclarator (&ZIid, &ZIp);
2273
	    if ((CURRENT_TERMINAL) == 74) {
2333
	    if ((CURRENT_TERMINAL) == 75) {
2274
		RESTORE_LEXER;
2334
		RESTORE_LEXER;
2275
		goto ZL1;
2335
		goto ZL1;
2276
	    }
2336
	    }
2277
	    {
2337
	    {
2278
 
2338
 
2279
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2339
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2280
	    }
2340
	    }
2281
	    {
2341
	    {
2282
 
2342
 
2283
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, TYPE_DEFINED ) ;
2343
    type *t = make_type ( (ZIid).iname, (ZIid).ivers, TYPE_DEFINED ) ;
2284
    t->v.next = check_type ( (ZIt), OBJ_TYPE ) ;
2344
    t->v.next = check_type ( (ZIt), OBJ_TYPE ) ;
2285
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2345
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, t->u.obj, OBJ_EXTERN ) ;
2286
	    }
2346
	    }
2287
	}
2347
	}
2288
	break;
2348
	break;
2289
      case 74:
2349
      case 75:
2290
	return;
2350
	return;
2291
      default:
2351
      default:
2292
	goto ZL1;
2352
	goto ZL1;
2293
    }
2353
    }
2294
    goto ZL0;
2354
    goto ZL0;
2295
  ZL1:;
2355
  ZL1:;
2296
    SAVE_LEXER (74);
2356
    SAVE_LEXER (75);
2297
    return;
2357
    return;
2298
  ZL0:;
2358
  ZL0:;
2299
    *ZOc = ZIc;
2359
    *ZOc = ZIc;
2300
}
2360
}
2301
 
2361
 
2302
static void
2362
static void
2303
ZR321 PROTO_N ((ZIcmd, ZOc))
-
 
2304
  PROTO_T (int *ZIcmd X SID_COMMAND *ZOc)
2363
ZR323(int *ZIcmd, SID_COMMAND *ZOc)
2305
{
2364
{
2306
    SID_COMMAND ZIc;
2365
    SID_COMMAND ZIc;
2307
 
2366
 
2308
    switch (CURRENT_TERMINAL) {
2367
    switch (CURRENT_TERMINAL) {
2309
      case 2:
2368
      case 2:
2310
	{
2369
	{
2311
	    SID_STRING ZIs;
2370
	    SID_STRING ZIs;
2312
	    SID_STRING ZIkey;
2371
	    SID_STRING ZIkey;
2313
 
2372
 
2314
	    ZRsubset_Hname (&ZIs);
2373
	    ZRsubset_Hname (&ZIs);
2315
	    ZRsubset_Hkey (&ZIkey);
2374
	    ZRsubset_Hkey (&ZIkey);
2316
	    if ((CURRENT_TERMINAL) == 74) {
2375
	    if ((CURRENT_TERMINAL) == 75) {
2317
		RESTORE_LEXER;
2376
		RESTORE_LEXER;
2318
		goto ZL1;
2377
		goto ZL1;
2319
	    }
2378
	    }
2320
	    {
2379
	    {
2321
 
2380
 
Line 2324... Line 2383...
2324
    (ZIc) = make_object ( (ZIkey), (*ZIcmd) ) ;
2383
    (ZIc) = make_object ( (ZIkey), (*ZIcmd) ) ;
2325
    (ZIc)->u.u_obj = p ;
2384
    (ZIc)->u.u_obj = p ;
2326
	    }
2385
	    }
2327
	}
2386
	}
2328
	break;
2387
	break;
2329
      case 55:
2388
      case 56:
2330
	{
2389
	{
2331
	    SID_STRING ZIs;
2390
	    SID_STRING ZIs;
2332
	    SID_STRING ZIkey1;
2391
	    SID_STRING ZIkey1;
2333
	    SID_STRING ZIkey;
2392
	    SID_STRING ZIkey;
2334
 
2393
 
2335
	    ZRuse_Hsubset_Hname (&ZIs);
2394
	    ZRuse_Hsubset_Hname (&ZIs);
2336
	    ZRsubset_Hkey (&ZIkey1);
2395
	    ZRsubset_Hkey (&ZIkey1);
2337
	    if ((CURRENT_TERMINAL) == 74) {
2396
	    if ((CURRENT_TERMINAL) == 75) {
2338
		RESTORE_LEXER;
2397
		RESTORE_LEXER;
2339
		goto ZL1;
2398
		goto ZL1;
2340
	    }
2399
	    }
2341
	    {
2400
	    {
2342
 (ZIkey) = string_concat ( (ZIkey1), "G" ) ; 
2401
 (ZIkey) = string_concat ( (ZIkey1), "G" ) ; 
2343
	    }
2402
	    }
2344
	    {
2403
	    {
2345
 
2404
 
2346
    object *p = make_subset ( (ZIs) ) ;
2405
    object *p = make_subset ( (ZIs) ) ;
Line 2348... Line 2407...
2348
    (ZIc) = make_object ( (ZIkey), (*ZIcmd) ) ;
2407
    (ZIc) = make_object ( (ZIkey), (*ZIcmd) ) ;
2349
    (ZIc)->u.u_obj = p ;
2408
    (ZIc)->u.u_obj = p ;
2350
	    }
2409
	    }
2351
	}
2410
	}
2352
	break;
2411
	break;
2353
      case 74:
-
 
2354
	return;
-
 
2355
      default:
-
 
2356
	goto ZL1;
-
 
2357
    }
-
 
2358
    goto ZL0;
-
 
2359
  ZL1:;
-
 
2360
    SAVE_LEXER (74);
-
 
2361
    return;
-
 
2362
  ZL0:;
-
 
2363
    *ZOc = ZIc;
-
 
2364
}
-
 
2365
 
-
 
2366
static void
-
 
2367
ZRarray_Hoperator PROTO_N ((ZOt))
-
 
2368
  PROTO_T (SID_TYPE *ZOt)
-
 
2369
{
-
 
2370
    SID_TYPE ZIt;
-
 
2371
 
-
 
2372
    if ((CURRENT_TERMINAL) == 74) {
-
 
2373
	return;
-
 
2374
    }
-
 
2375
    {
-
 
2376
	SID_STRING ZIa;
-
 
2377
 
-
 
2378
	switch (CURRENT_TERMINAL) {
-
 
2379
	  case 57:
-
 
2380
	    break;
-
 
2381
	  default:
-
 
2382
	    goto ZL1;
-
 
2383
	}
-
 
2384
	ADVANCE_LEXER;
-
 
2385
	{
-
 
2386
	    switch (CURRENT_TERMINAL) {
-
 
2387
	      case 0: case 1: case 5: case 66: case 67:
-
 
2388
		{
-
 
2389
		    ZRconstant_Hvalue (&ZIa);
-
 
2390
		    if ((CURRENT_TERMINAL) == 74) {
-
 
2391
			RESTORE_LEXER;
-
 
2392
			goto ZL1;
-
 
2393
		    }
-
 
2394
		}
-
 
2395
		break;
-
 
2396
	      default:
-
 
2397
		{
-
 
2398
		    {
-
 
2399
 
-
 
2400
    (ZIa) = "" ;
-
 
2401
		    }
-
 
2402
		}
-
 
2403
		break;
-
 
2404
	    }
-
 
2405
	}
-
 
2406
	switch (CURRENT_TERMINAL) {
-
 
2407
	  case 58:
-
 
2408
	    break;
-
 
2409
	  default:
-
 
2410
	    goto ZL1;
-
 
2411
	}
-
 
2412
	ADVANCE_LEXER;
-
 
2413
	{
-
 
2414
 
-
 
2415
    (ZIt) = make_subtype ( ( type * ) null, TYPE_ARRAY ) ;
-
 
2416
    (ZIt)->v.str = (ZIa) ;
-
 
2417
	}
-
 
2418
    }
-
 
2419
    goto ZL0;
-
 
2420
  ZL1:;
-
 
2421
    SAVE_LEXER (74);
-
 
2422
    return;
-
 
2423
  ZL0:;
-
 
2424
    *ZOt = ZIt;
-
 
2425
}
-
 
2426
 
-
 
2427
static void
-
 
2428
ZR322 PROTO_N ((ZInm, ZIv, ZOid))
-
 
2429
  PROTO_T (SID_STRING *ZInm X int *ZIv X SID_IDENTIFIER *ZOid)
-
 
2430
{
-
 
2431
    SID_IDENTIFIER ZIid;
-
 
2432
 
-
 
2433
    switch (CURRENT_TERMINAL) {
-
 
2434
      case 68:
-
 
2435
	{
-
 
2436
	    SID_STRING ZItnm;
-
 
2437
	    int ZItv;
-
 
2438
 
-
 
2439
	    ADVANCE_LEXER;
-
 
2440
	    ZRexternal_Hname (&ZItnm, &ZItv);
-
 
2441
	    if ((CURRENT_TERMINAL) == 74) {
-
 
2442
		RESTORE_LEXER;
-
 
2443
		goto ZL1;
-
 
2444
	    }
-
 
2445
	    {
-
 
2446
 
-
 
2447
    (ZIid).iname = (*ZInm) ;
-
 
2448
    (ZIid).ivers = (*ZIv) ;
-
 
2449
    (ZIid).ename = (ZItnm) ;
-
 
2450
    (ZIid).evers = (ZItv) ;
-
 
2451
	    }
-
 
2452
	}
-
 
2453
	break;
-
 
2454
      default:
-
 
2455
	{
-
 
2456
	    SID_STRING ZItnm;
-
 
2457
 
-
 
2458
	    {
-
 
2459
 
-
 
2460
    (ZItnm) = token_name ( (*ZInm) ) ;
-
 
2461
	    }
-
 
2462
	    {
-
 
2463
 
-
 
2464
    (ZIid).iname = (*ZInm) ;
-
 
2465
    (ZIid).ivers = (*ZIv) ;
-
 
2466
    (ZIid).ename = (ZItnm) ;
-
 
2467
    (ZIid).evers = (*ZIv) ;
-
 
2468
	    }
-
 
2469
	}
-
 
2470
	break;
-
 
2471
      case 74:
2412
      case 75:
2472
	return;
-
 
2473
    }
-
 
2474
    goto ZL0;
-
 
2475
  ZL1:;
-
 
2476
    SAVE_LEXER (74);
-
 
2477
    return;
-
 
2478
  ZL0:;
-
 
2479
    *ZOid = ZIid;
-
 
2480
}
-
 
2481
 
-
 
2482
static void
-
 
2483
ZR323 PROTO_N ((ZOp))
-
 
2484
  PROTO_T (SID_STRING *ZOp)
-
 
2485
{
-
 
2486
    SID_STRING ZIp;
-
 
2487
 
-
 
2488
    switch (CURRENT_TERMINAL) {
-
 
2489
      case 56:
-
 
2490
	{
-
 
2491
	    ADVANCE_LEXER;
-
 
2492
	    {
-
 
2493
 (ZIp) = "" ; 
-
 
2494
	    }
-
 
2495
	}
-
 
2496
	break;
-
 
2497
      case 0:
-
 
2498
	{
-
 
2499
	    ZRdefine_Hparam_Hlist (&ZIp);
-
 
2500
	    switch (CURRENT_TERMINAL) {
-
 
2501
	      case 56:
-
 
2502
		break;
-
 
2503
	      case 74:
-
 
2504
		RESTORE_LEXER;
-
 
2505
		goto ZL1;
-
 
2506
	      default:
-
 
2507
		goto ZL1;
-
 
2508
	    }
-
 
2509
	    ADVANCE_LEXER;
-
 
2510
	}
-
 
2511
	break;
-
 
2512
      case 74:
-
 
2513
	return;
2413
	return;
2514
      default:
2414
      default:
2515
	goto ZL1;
2415
	goto ZL1;
2516
    }
2416
    }
2517
    goto ZL0;
2417
    goto ZL0;
2518
  ZL1:;
2418
  ZL1:;
2519
    SAVE_LEXER (74);
2419
    SAVE_LEXER (75);
2520
    return;
2420
    return;
2521
  ZL0:;
2421
  ZL0:;
2522
    *ZOp = ZIp;
2422
    *ZOc = ZIc;
2523
}
2423
}
2524
 
2424
 
2525
static void
2425
static void
2526
ZRmacro_Hparam_Hlist PROTO_N ((ZOp))
2426
ZRmacro_Hparam_Hlist(SID_TYPE *ZOp)
2527
  PROTO_T (SID_TYPE *ZOp)
-
 
2528
{
2427
{
2529
    SID_TYPE ZIp;
2428
    SID_TYPE ZIp;
2530
 
2429
 
2531
    if ((CURRENT_TERMINAL) == 74) {
2430
    if ((CURRENT_TERMINAL) == 75) {
2532
	return;
2431
	return;
2533
    }
2432
    }
2534
    {
2433
    {
2535
	SID_TYPE ZIt;
2434
	SID_TYPE ZIt;
2536
	SID_TYPE ZIq;
2435
	SID_TYPE ZIq;
2537
 
2436
 
2538
	ZRmacro_Hparam_Hdeclaration (&ZIt);
2437
	ZRmacro_Hparam_Hdeclaration (&ZIt);
2539
	{
2438
	{
2540
	    switch (CURRENT_TERMINAL) {
2439
	    switch (CURRENT_TERMINAL) {
2541
	      case 61:
2440
	      case 62:
2542
		{
2441
		{
2543
		    ADVANCE_LEXER;
2442
		    ADVANCE_LEXER;
2544
		    ZRmacro_Hparam_Hlist (&ZIq);
2443
		    ZRmacro_Hparam_Hlist (&ZIq);
2545
		    if ((CURRENT_TERMINAL) == 74) {
2444
		    if ((CURRENT_TERMINAL) == 75) {
2546
			RESTORE_LEXER;
2445
			RESTORE_LEXER;
2547
			goto ZL1;
2446
			goto ZL1;
2548
		    }
2447
		    }
2549
		}
2448
		}
2550
		break;
2449
		break;
2551
	      default:
2450
	      default:
2552
		{
2451
		{
2553
		    {
2452
		    {
2554
 
2453
 
2555
    (ZIq) = null ;
2454
    (ZIq) = null ;
2556
		    }
2455
		    }
2557
		}
2456
		}
2558
		break;
2457
		break;
2559
	      case 74:
2458
	      case 75:
2560
		RESTORE_LEXER;
-
 
2561
		goto ZL1;
-
 
2562
	    }
-
 
2563
	}
-
 
2564
	{
-
 
2565
 
-
 
2566
    (ZIp) = make_subtype ( (ZIt), TYPE_LIST ) ;
-
 
2567
    (ZIp)->v.next = (ZIq) ;
-
 
2568
	}
-
 
2569
    }
-
 
2570
    goto ZL0;
-
 
2571
  ZL1:;
-
 
2572
    SAVE_LEXER (74);
-
 
2573
    return;
-
 
2574
  ZL0:;
-
 
2575
    *ZOp = ZIp;
-
 
2576
}
-
 
2577
 
-
 
2578
static void
-
 
2579
ZR326 PROTO_N ((ZI324, ZOp))
-
 
2580
  PROTO_T (SID_STRING *ZI324 X SID_STRING *ZOp)
-
 
2581
{
-
 
2582
    SID_STRING ZIp;
-
 
2583
 
-
 
2584
    switch (CURRENT_TERMINAL) {
-
 
2585
      case 61:
-
 
2586
	{
-
 
2587
	    SID_STRING ZIq;
-
 
2588
 
-
 
2589
	    ADVANCE_LEXER;
-
 
2590
	    ZRdefine_Hparam_Hlist (&ZIq);
-
 
2591
	    if ((CURRENT_TERMINAL) == 74) {
-
 
2592
		RESTORE_LEXER;
2459
		RESTORE_LEXER;
2593
		goto ZL1;
2460
		goto ZL1;
2594
	    }
2461
	    }
-
 
2462
	}
2595
	    {
2463
	{
2596
 
2464
 
2597
    (ZIp) = string_printf ( "%s, %s", (*ZI324), (ZIq) ) ;
2465
    (ZIp) = make_subtype ( (ZIt), TYPE_LIST ) ;
2598
	    }
-
 
2599
	}
-
 
2600
	break;
-
 
2601
      default:
-
 
2602
	{
-
 
2603
	    ZIp = *ZI324;
2466
    (ZIp)->v.next = (ZIq) ;
2604
	}
2467
	}
2605
	break;
-
 
2606
      case 74:
-
 
2607
	return;
-
 
2608
    }
2468
    }
2609
    goto ZL0;
2469
    goto ZL0;
2610
  ZL1:;
2470
  ZL1:;
2611
    SAVE_LEXER (74);
2471
    SAVE_LEXER (75);
2612
    return;
2472
    return;
2613
  ZL0:;
2473
  ZL0:;
2614
    *ZOp = ZIp;
2474
    *ZOp = ZIp;
2615
}
2475
}
2616
 
2476
 
2617
static void
2477
static void
2618
ZR327 PROTO_N ((ZOcmd))
-
 
2619
  PROTO_T (int *ZOcmd)
2478
ZR324(SID_STRING *ZInm, int *ZIv, SID_IDENTIFIER *ZOid)
2620
{
2479
{
2621
    int ZIcmd;
2480
    SID_IDENTIFIER ZIid;
2622
 
2481
 
2623
    switch (CURRENT_TERMINAL) {
2482
    switch (CURRENT_TERMINAL) {
2624
      case 55:
2483
      case 69:
2625
	{
2484
	{
-
 
2485
	    SID_STRING ZItnm;
-
 
2486
	    int ZItv;
-
 
2487
 
2626
	    ADVANCE_LEXER;
2488
	    ADVANCE_LEXER;
2627
	    ZR328 (&ZIcmd);
2489
	    ZRexternal_Hname (&ZItnm, &ZItv);
2628
	    if ((CURRENT_TERMINAL) == 74) {
2490
	    if ((CURRENT_TERMINAL) == 75) {
2629
		RESTORE_LEXER;
2491
		RESTORE_LEXER;
2630
		goto ZL1;
2492
		goto ZL1;
-
 
2493
	    }
-
 
2494
	    {
-
 
2495
 
-
 
2496
    (ZIid).iname = (*ZInm) ;
-
 
2497
    (ZIid).ivers = (*ZIv) ;
-
 
2498
    (ZIid).ename = (ZItnm) ;
-
 
2499
    (ZIid).evers = (ZItv) ;
2631
	    }
2500
	    }
2632
	}
2501
	}
2633
	break;
2502
	break;
2634
      default:
2503
      default:
2635
	{
2504
	{
-
 
2505
	    SID_STRING ZItnm;
-
 
2506
 
-
 
2507
	    {
-
 
2508
 
-
 
2509
    (ZItnm) = token_name ( (*ZInm) ) ;
-
 
2510
	    }
2636
	    {
2511
	    {
-
 
2512
 
-
 
2513
    (ZIid).iname = (*ZInm) ;
-
 
2514
    (ZIid).ivers = (*ZIv) ;
2637
 (ZIcmd) = OBJ_EXP ; 
2515
    (ZIid).ename = (ZItnm) ;
-
 
2516
    (ZIid).evers = (*ZIv) ;
2638
	    }
2517
	    }
2639
	}
2518
	}
2640
	break;
2519
	break;
2641
      case 74:
2520
      case 75:
2642
	return;
2521
	return;
2643
    }
2522
    }
2644
    goto ZL0;
2523
    goto ZL0;
2645
  ZL1:;
2524
  ZL1:;
2646
    SAVE_LEXER (74);
2525
    SAVE_LEXER (75);
2647
    return;
2526
    return;
2648
  ZL0:;
2527
  ZL0:;
2649
    *ZOcmd = ZIcmd;
2528
    *ZOid = ZIid;
2650
}
2529
}
2651
 
2530
 
2652
static void
2531
static void
2653
ZR328 PROTO_N ((ZOcmd))
2532
ZR325(SID_STRING *ZOp)
2654
  PROTO_T (int *ZOcmd)
-
 
2655
{
2533
{
2656
    int ZIcmd;
2534
    SID_STRING ZIp;
2657
 
2535
 
2658
    switch (CURRENT_TERMINAL) {
2536
    switch (CURRENT_TERMINAL) {
2659
      case 32:
2537
      case 57:
2660
	{
2538
	{
2661
	    ADVANCE_LEXER;
-
 
2662
	    switch (CURRENT_TERMINAL) {
-
 
2663
	      case 56:
-
 
2664
		break;
-
 
2665
	      default:
-
 
2666
		goto ZL1;
-
 
2667
	    }
-
 
2668
	    ADVANCE_LEXER;
2539
	    ADVANCE_LEXER;
2669
	    {
2540
	    {
2670
 (ZIcmd) = OBJ_CONST ; 
2541
 (ZIp) = "" ; 
2671
	    }
2542
	    }
2672
	}
2543
	}
2673
	break;
2544
	break;
2674
      case 35:
2545
      case 0:
2675
	{
2546
	{
2676
	    ADVANCE_LEXER;
2547
	    ZRdefine_Hparam_Hlist (&ZIp);
2677
	    switch (CURRENT_TERMINAL) {
2548
	    switch (CURRENT_TERMINAL) {
2678
	      case 56:
2549
	      case 57:
2679
		break;
2550
		break;
-
 
2551
	      case 75:
-
 
2552
		RESTORE_LEXER;
-
 
2553
		goto ZL1;
2680
	      default:
2554
	      default:
2681
		goto ZL1;
2555
		goto ZL1;
2682
	    }
2556
	    }
2683
	    ADVANCE_LEXER;
2557
	    ADVANCE_LEXER;
-
 
2558
	}
-
 
2559
	break;
-
 
2560
      case 75:
-
 
2561
	return;
-
 
2562
      default:
-
 
2563
	goto ZL1;
2684
	    {
2564
    }
-
 
2565
    goto ZL0;
-
 
2566
  ZL1:;
-
 
2567
    SAVE_LEXER (75);
-
 
2568
    return;
-
 
2569
  ZL0:;
-
 
2570
    *ZOp = ZIp;
-
 
2571
}
-
 
2572
 
-
 
2573
static void
-
 
2574
ZR328(SID_STRING *ZI326, SID_STRING *ZOp)
-
 
2575
{
-
 
2576
    SID_STRING ZIp;
-
 
2577
 
2685
 (ZIcmd) = OBJ_EXTERN ; 
2578
    switch (CURRENT_TERMINAL) {
-
 
2579
      case 62:
-
 
2580
	{
-
 
2581
	    SID_STRING ZIq;
-
 
2582
 
-
 
2583
	    ADVANCE_LEXER;
-
 
2584
	    ZRdefine_Hparam_Hlist (&ZIq);
-
 
2585
	    if ((CURRENT_TERMINAL) == 75) {
-
 
2586
		RESTORE_LEXER;
-
 
2587
		goto ZL1;
2686
	    }
2588
	    }
-
 
2589
	    {
-
 
2590
 
-
 
2591
    (ZIp) = string_printf ( "%s, %s", (*ZI326), (ZIq) ) ;
-
 
2592
	    }
-
 
2593
	}
-
 
2594
	break;
-
 
2595
      default:
-
 
2596
	{
-
 
2597
	    ZIp = *ZI326;
2687
	}
2598
	}
2688
	break;
2599
	break;
2689
      case 74:
2600
      case 75:
2690
	return;
2601
	return;
2691
      default:
-
 
2692
	goto ZL1;
-
 
2693
    }
2602
    }
2694
    goto ZL0;
2603
    goto ZL0;
2695
  ZL1:;
2604
  ZL1:;
2696
    SAVE_LEXER (74);
2605
    SAVE_LEXER (75);
2697
    return;
2606
    return;
2698
  ZL0:;
2607
  ZL0:;
2699
    *ZOcmd = ZIcmd;
2608
    *ZOp = ZIp;
2700
}
2609
}
2701
 
2610
 
2702
static void
2611
static void
2703
ZRenum_Hcommand PROTO_N ((ZOtag))
2612
ZRenum_Hcommand(int *ZOtag)
2704
  PROTO_T (int *ZOtag)
-
 
2705
{
2613
{
2706
    int ZItag;
2614
    int ZItag;
2707
 
2615
 
2708
    switch (CURRENT_TERMINAL) {
2616
    switch (CURRENT_TERMINAL) {
2709
      case 34:
2617
      case 35:
2710
	{
2618
	{
2711
	    ADVANCE_LEXER;
2619
	    ADVANCE_LEXER;
2712
	    {
2620
	    {
2713
 (ZItag) = TYPE_ENUM_TAG ; 
2621
 (ZItag) = TYPE_ENUM_TAG ; 
2714
	    }
2622
	    }
2715
	}
2623
	}
2716
	break;
2624
	break;
2717
      default:
2625
      default:
2718
	{
2626
	{
2719
	    {
2627
	    {
2720
 (ZItag) = TYPE_ENUM ; 
2628
 (ZItag) = TYPE_ENUM ; 
2721
	    }
2629
	    }
2722
	}
2630
	}
2723
	break;
2631
	break;
2724
      case 74:
2632
      case 75:
2725
	return;
2633
	return;
2726
    }
2634
    }
2727
    *ZOtag = ZItag;
2635
    *ZOtag = ZItag;
2728
}
2636
}
2729
 
2637
 
2730
static void
2638
static void
2731
ZRenumerator PROTO_N ((ZOc))
-
 
2732
  PROTO_T (SID_COMMAND *ZOc)
2639
ZRenumerator(SID_COMMAND *ZOc)
2733
{
2640
{
2734
    SID_COMMAND ZIc;
2641
    SID_COMMAND ZIc;
2735
 
2642
 
2736
    if ((CURRENT_TERMINAL) == 74) {
2643
    if ((CURRENT_TERMINAL) == 75) {
2737
	return;
2644
	return;
2738
    }
2645
    }
2739
    {
2646
    {
2740
	SID_IDENTIFIER ZIid;
2647
	SID_IDENTIFIER ZIid;
2741
	SID_STRING ZIs;
2648
	SID_STRING ZIs;
2742
 
2649
 
2743
	ZRidentifier (&ZIid);
2650
	ZRidentifier (&ZIid);
2744
	{
2651
	{
2745
	    switch (CURRENT_TERMINAL) {
2652
	    switch (CURRENT_TERMINAL) {
2746
	      case 65:
2653
	      case 66:
2747
		{
2654
		{
2748
		    ADVANCE_LEXER;
2655
		    ADVANCE_LEXER;
2749
		    ZRconstant_Hvalue (&ZIs);
2656
		    ZRconstant_Hvalue (&ZIs);
2750
		    if ((CURRENT_TERMINAL) == 74) {
2657
		    if ((CURRENT_TERMINAL) == 75) {
2751
			RESTORE_LEXER;
2658
			RESTORE_LEXER;
2752
			goto ZL1;
2659
			goto ZL1;
2753
		    }
2660
		    }
2754
		}
2661
		}
2755
		break;
2662
		break;
Line 2759... Line 2666...
2759
 
2666
 
2760
    (ZIs) = "" ;
2667
    (ZIs) = "" ;
2761
		    }
2668
		    }
2762
		}
2669
		}
2763
		break;
2670
		break;
2764
	      case 74:
2671
	      case 75:
-
 
2672
		RESTORE_LEXER;
-
 
2673
		goto ZL1;
-
 
2674
	    }
-
 
2675
	}
-
 
2676
	{
-
 
2677
 
-
 
2678
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_ENUMVAL ) ;
-
 
2679
    p->u.u_str = (ZIs) ;
-
 
2680
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, p, OBJ_EXTERN ) ;
-
 
2681
	}
-
 
2682
    }
-
 
2683
    goto ZL0;
-
 
2684
  ZL1:;
-
 
2685
    SAVE_LEXER (75);
-
 
2686
    return;
-
 
2687
  ZL0:;
-
 
2688
    *ZOc = ZIc;
-
 
2689
}
-
 
2690
 
-
 
2691
static void
-
 
2692
ZR329(int *ZOcmd)
-
 
2693
{
-
 
2694
    int ZIcmd;
-
 
2695
 
-
 
2696
    switch (CURRENT_TERMINAL) {
-
 
2697
      case 56:
-
 
2698
	{
-
 
2699
	    ADVANCE_LEXER;
-
 
2700
	    ZR330 (&ZIcmd);
-
 
2701
	    if ((CURRENT_TERMINAL) == 75) {
2765
		RESTORE_LEXER;
2702
		RESTORE_LEXER;
2766
		goto ZL1;
2703
		goto ZL1;
2767
	    }
2704
	    }
2768
	}
2705
	}
-
 
2706
	break;
-
 
2707
      default:
2769
	{
2708
	{
2770
 
2709
	    {
2771
    object *p = make_exp ( (ZIid).iname, (ZIid).ivers, OBJ_ENUMVAL ) ;
2710
 (ZIcmd) = OBJ_EXP ; 
2772
    p->u.u_str = (ZIs) ;
2711
	    }
2773
    (ZIc) = make_token ( (ZIid).ename, (ZIid).evers, p, OBJ_EXTERN ) ;
-
 
2774
	}
2712
	}
-
 
2713
	break;
-
 
2714
      case 75:
-
 
2715
	return;
2775
    }
2716
    }
2776
    goto ZL0;
2717
    goto ZL0;
2777
  ZL1:;
2718
  ZL1:;
2778
    SAVE_LEXER (74);
2719
    SAVE_LEXER (75);
2779
    return;
2720
    return;
2780
  ZL0:;
2721
  ZL0:;
2781
    *ZOc = ZIc;
2722
    *ZOcmd = ZIcmd;
2782
}
2723
}
2783
 
2724
 
2784
static void
2725
static void
2785
ZRfield_Hdeclarator_Hlist PROTO_N ((ZIm, ZIs, ZOc))
-
 
2786
  PROTO_T (SID_TYPE ZIm X SID_TYPE ZIs X SID_COMMAND *ZOc)
2726
ZRfield_Hdeclarator_Hlist(SID_TYPE ZIm, SID_TYPE ZIs, SID_COMMAND *ZOc)
2787
{
2727
{
2788
    SID_COMMAND ZIc;
2728
    SID_COMMAND ZIc;
2789
 
2729
 
2790
    if ((CURRENT_TERMINAL) == 74) {
2730
    if ((CURRENT_TERMINAL) == 75) {
2791
	return;
2731
	return;
2792
    }
2732
    }
2793
    {
2733
    {
2794
	SID_IDENTIFIER ZIid;
2734
	SID_IDENTIFIER ZIid;
2795
	SID_TYPE ZIp;
2735
	SID_TYPE ZIp;
2796
	SID_TYPE ZIt;
2736
	SID_TYPE ZIt;
2797
	SID_COMMAND ZIa;
2737
	SID_COMMAND ZIa;
2798
	SID_COMMAND ZIb;
2738
	SID_COMMAND ZIb;
2799
 
2739
 
2800
	ZRfield_Hdeclarator (&ZIid, &ZIp);
2740
	ZRfield_Hdeclarator (&ZIid, &ZIp);
2801
	if ((CURRENT_TERMINAL) == 74) {
2741
	if ((CURRENT_TERMINAL) == 75) {
2802
	    RESTORE_LEXER;
2742
	    RESTORE_LEXER;
2803
	    goto ZL1;
2743
	    goto ZL1;
2804
	}
2744
	}
2805
	{
2745
	{
2806
 
2746
 
2807
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2747
    (ZIt) = inject_type ( (ZIp), (ZIs) ) ;
2808
	}
2748
	}
2809
	{
2749
	{
2810
 
2750
 
2811
    type *t = check_type ( (ZIt), OBJ_FIELD ) ;
2751
    type *t = check_type ( (ZIt), OBJ_FIELD ) ;
2812
    field *f = make_field ( (ZIid).iname, (ZIid).ivers, (ZIm), t ) ;
2752
    field *f = make_field ( (ZIid).iname, (ZIid).ivers, (ZIm), t ) ;
2813
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, f->obj, OBJ_FIELD ) ;
2753
    (ZIa) = make_token ( (ZIid).ename, (ZIid).evers, f->obj, OBJ_FIELD ) ;
2814
	}
2754
	}
2815
	{
2755
	{
2816
	    switch (CURRENT_TERMINAL) {
2756
	    switch (CURRENT_TERMINAL) {
2817
	      case 61:
2757
	      case 62:
2818
		{
2758
		{
2819
		    ADVANCE_LEXER;
2759
		    ADVANCE_LEXER;
2820
		    ZRfield_Hdeclarator_Hlist (ZIm, ZIs, &ZIb);
2760
		    ZRfield_Hdeclarator_Hlist (ZIm, ZIs, &ZIb);
2821
		    if ((CURRENT_TERMINAL) == 74) {
2761
		    if ((CURRENT_TERMINAL) == 75) {
2822
			RESTORE_LEXER;
2762
			RESTORE_LEXER;
2823
			goto ZL1;
2763
			goto ZL1;
2824
		    }
2764
		    }
2825
		}
2765
		}
2826
		break;
2766
		break;
2827
	      default:
2767
	      default:
2828
		{
2768
		{
2829
		    {
2769
		    {
2830
 
2770
 
2831
    (ZIb) = null ;
2771
    (ZIb) = null ;
2832
		    }
2772
		    }
2833
		}
2773
		}
2834
		break;
2774
		break;
2835
	    }
2775
	    }
2836
	}
2776
	}
2837
	{
2777
	{
2838
 
2778
 
2839
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
2779
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
2840
	}
2780
	}
2841
    }
2781
    }
2842
    goto ZL0;
2782
    goto ZL0;
2843
  ZL1:;
2783
  ZL1:;
2844
    SAVE_LEXER (74);
2784
    SAVE_LEXER (75);
2845
    return;
2785
    return;
2846
  ZL0:;
2786
  ZL0:;
2847
    *ZOc = ZIc;
2787
    *ZOc = ZIc;
2848
}
2788
}
2849
 
2789
 
-
 
2790
static void
-
 
2791
ZR330(int *ZOcmd)
-
 
2792
{
-
 
2793
    int ZIcmd;
-
 
2794
 
-
 
2795
    switch (CURRENT_TERMINAL) {
-
 
2796
      case 33:
-
 
2797
	{
-
 
2798
	    ADVANCE_LEXER;
-
 
2799
	    switch (CURRENT_TERMINAL) {
-
 
2800
	      case 57:
-
 
2801
		break;
-
 
2802
	      default:
-
 
2803
		goto ZL1;
-
 
2804
	    }
-
 
2805
	    ADVANCE_LEXER;
-
 
2806
	    {
-
 
2807
 (ZIcmd) = OBJ_CONST ; 
-
 
2808
	    }
-
 
2809
	}
-
 
2810
	break;
-
 
2811
      case 36:
-
 
2812
	{
-
 
2813
	    ADVANCE_LEXER;
-
 
2814
	    switch (CURRENT_TERMINAL) {
-
 
2815
	      case 57:
-
 
2816
		break;
-
 
2817
	      default:
-
 
2818
		goto ZL1;
-
 
2819
	    }
-
 
2820
	    ADVANCE_LEXER;
-
 
2821
	    {
-
 
2822
 (ZIcmd) = OBJ_EXTERN ; 
-
 
2823
	    }
-
 
2824
	}
-
 
2825
	break;
-
 
2826
      case 75:
-
 
2827
	return;
-
 
2828
      default:
-
 
2829
	goto ZL1;
-
 
2830
    }
-
 
2831
    goto ZL0;
-
 
2832
  ZL1:;
-
 
2833
    SAVE_LEXER (75);
-
 
2834
    return;
-
 
2835
  ZL0:;
-
 
2836
    *ZOcmd = ZIcmd;
-
 
2837
}
-
 
2838
 
2850
static void
2839
static void
2851
ZR331 PROTO_N ((ZI329, ZOt))
2840
ZRfield_Hexact(int *ZOe)
-
 
2841
{
-
 
2842
    int ZIe;
-
 
2843
 
-
 
2844
    switch (CURRENT_TERMINAL) {
-
 
2845
      case 60:
-
 
2846
	{
-
 
2847
	    ADVANCE_LEXER;
-
 
2848
	    {
-
 
2849
 (ZIe) = 1 ; 
-
 
2850
	    }
-
 
2851
	}
-
 
2852
	break;
-
 
2853
      default:
-
 
2854
	{
-
 
2855
	    {
-
 
2856
 (ZIe) = 0 ; 
-
 
2857
	    }
-
 
2858
	}
-
 
2859
	break;
-
 
2860
      case 75:
-
 
2861
	return;
-
 
2862
    }
-
 
2863
    *ZOe = ZIe;
-
 
2864
}
-
 
2865
 
-
 
2866
static void
2852
  PROTO_T (SID_TYPE *ZI329 X SID_TYPE *ZOt)
2867
ZR333(SID_TYPE *ZI331, SID_TYPE *ZOt)
2853
{
2868
{
2854
    SID_TYPE ZIt;
2869
    SID_TYPE ZIt;
2855
 
2870
 
2856
    switch (CURRENT_TERMINAL) {
2871
    switch (CURRENT_TERMINAL) {
2857
      case 32: case 47:
2872
      case 33: case 48:
2858
	{
2873
	{
2859
	    unsigned ZIcv;
2874
	    unsigned ZIcv;
2860
 
2875
 
2861
	    ZRtype_Hqualifier (&ZIcv);
2876
	    ZRtype_Hqualifier (&ZIcv);
2862
	    if ((CURRENT_TERMINAL) == 74) {
2877
	    if ((CURRENT_TERMINAL) == 75) {
2863
		RESTORE_LEXER;
2878
		RESTORE_LEXER;
2864
		goto ZL1;
2879
		goto ZL1;
2865
	    }
2880
	    }
2866
	    {
2881
	    {
2867
 
2882
 
2868
    (ZIt) = make_subtype ( (*ZI329), TYPE_QUALIFIER ) ;
2883
    (ZIt) = make_subtype ( (*ZI331), TYPE_QUALIFIER ) ;
2869
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
2884
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
2870
	    }
2885
	    }
2871
	}
2886
	}
2872
	break;
2887
	break;
2873
      default:
2888
      default:
2874
	{
2889
	{
2875
	    ZIt = *ZI329;
2890
	    ZIt = *ZI331;
2876
	}
2891
	}
2877
	break;
2892
	break;
2878
      case 74:
2893
      case 75:
2879
	return;
2894
	return;
2880
    }
2895
    }
2881
    goto ZL0;
2896
    goto ZL0;
2882
  ZL1:;
2897
  ZL1:;
2883
    SAVE_LEXER (74);
2898
    SAVE_LEXER (75);
2884
    return;
2899
    return;
2885
  ZL0:;
2900
  ZL0:;
2886
    *ZOt = ZIt;
2901
    *ZOt = ZIt;
2887
}
2902
}
2888
 
2903
 
2889
static void
2904
static void
2890
ZRfield_Hexact PROTO_N ((ZOe))
-
 
2891
  PROTO_T (int *ZOe)
2905
ZR335(SID_TYPE *ZOt)
2892
{
2906
{
2893
    int ZIe;
2907
    SID_TYPE ZIt;
2894
 
2908
 
2895
    switch (CURRENT_TERMINAL) {
2909
    switch (CURRENT_TERMINAL) {
2896
      case 59:
2910
      case 57:
2897
	{
2911
	{
2898
	    ADVANCE_LEXER;
-
 
2899
	    {
-
 
2900
 (ZIe) = 1 ; 
-
 
2901
	    }
-
 
2902
	}
-
 
2903
	break;
-
 
2904
      default:
-
 
2905
	{
-
 
2906
	    {
-
 
2907
 (ZIe) = 0 ; 
-
 
2908
	    }
-
 
2909
	}
-
 
2910
	break;
-
 
2911
      case 74:
-
 
2912
	return;
-
 
2913
    }
-
 
2914
    *ZOe = ZIe;
-
 
2915
}
-
 
2916
 
-
 
2917
static void
-
 
2918
ZR333 PROTO_N ((ZOt))
-
 
2919
  PROTO_T (SID_TYPE *ZOt)
-
 
2920
{
-
 
2921
    SID_TYPE ZIt;
-
 
2922
 
-
 
2923
    switch (CURRENT_TERMINAL) {
-
 
2924
      case 56:
-
 
2925
	{
-
 
2926
	    SID_TYPE ZIp;
2912
	    SID_TYPE ZIp;
2927
 
2913
 
2928
	    ADVANCE_LEXER;
2914
	    ADVANCE_LEXER;
2929
	    {
2915
	    {
2930
 
2916
 
2931
    error ( ERR_WARNING, "Empty parameter list" ) ;
2917
    error ( ERR_WARNING, "Empty parameter list" ) ;
2932
    (ZIp) = null ;
2918
    (ZIp) = null ;
2933
	    }
2919
	    }
2934
	    {
2920
	    {
2935
 
2921
 
2936
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
2922
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
2937
    (ZIt)->v.next = (ZIp) ;
2923
    (ZIt)->v.next = (ZIp) ;
2938
	    }
2924
	    }
2939
	}
2925
	}
2940
	break;
2926
	break;
2941
      case 0: case 31: case 32: case 33: case 34:
2927
      case 0: case 32: case 33: case 34: case 35:
2942
      case 36: case 37: case 38: case 41: case 42:
2928
      case 37: case 38: case 39: case 42: case 43:
2943
      case 43: case 44: case 45: case 46: case 47:
2929
      case 44: case 45: case 46: case 47: case 48:
2944
	{
2930
	{
2945
	    SID_TYPE ZIp;
2931
	    SID_TYPE ZIp;
2946
 
2932
 
2947
	    ZRparameter_Hlist (&ZIp);
2933
	    ZRparameter_Hlist (&ZIp);
2948
	    switch (CURRENT_TERMINAL) {
2934
	    switch (CURRENT_TERMINAL) {
2949
	      case 56:
2935
	      case 57:
2950
		break;
2936
		break;
2951
	      case 74:
2937
	      case 75:
2952
		RESTORE_LEXER;
2938
		RESTORE_LEXER;
2953
		goto ZL1;
2939
		goto ZL1;
2954
	      default:
2940
	      default:
2955
		goto ZL1;
2941
		goto ZL1;
2956
	    }
2942
	    }
2957
	    ADVANCE_LEXER;
2943
	    ADVANCE_LEXER;
2958
	    {
2944
	    {
2959
 
2945
 
2960
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
2946
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
2961
    (ZIt)->v.next = (ZIp) ;
2947
    (ZIt)->v.next = (ZIp) ;
2962
	    }
2948
	    }
2963
	}
2949
	}
2964
	break;
2950
	break;
2965
      case 74:
2951
      case 75:
2966
	return;
2952
	return;
2967
      default:
2953
      default:
2968
	goto ZL1;
2954
	goto ZL1;
2969
    }
2955
    }
2970
    goto ZL0;
2956
    goto ZL0;
2971
  ZL1:;
2957
  ZL1:;
2972
    SAVE_LEXER (74);
2958
    SAVE_LEXER (75);
2973
    return;
2959
    return;
2974
  ZL0:;
2960
  ZL0:;
2975
    *ZOt = ZIt;
2961
    *ZOt = ZIt;
2976
}
2962
}
2977
 
2963
 
2978
static void
2964
static void
2979
ZRcommand_Hlist PROTO_N ((ZOc))
2965
ZRcommand_Hlist(SID_COMMAND *ZOc)
2980
  PROTO_T (SID_COMMAND *ZOc)
-
 
2981
{
2966
{
2982
    SID_COMMAND ZIc;
2967
    SID_COMMAND ZIc;
2983
 
2968
 
2984
  ZL2_command_Hlist:;
2969
  ZL2_command_Hlist:;
2985
    switch (CURRENT_TERMINAL) {
2970
    switch (CURRENT_TERMINAL) {
2986
      case 7: case 8: case 9: case 12: case 13:
2971
      case 7: case 8: case 9: case 12: case 13:
2987
      case 14: case 15: case 19: case 21: case 22:
2972
      case 14: case 15: case 19: case 21: case 22:
2988
      case 23: case 24: case 26: case 27: case 28:
2973
      case 23: case 24: case 26: case 27: case 28:
2989
      case 29:
2974
      case 29: case 30:
2990
	{
2975
	{
2991
	    SID_COMMAND ZIa;
2976
	    SID_COMMAND ZIa;
2992
	    SID_COMMAND ZIb;
2977
	    SID_COMMAND ZIb;
2993
 
2978
 
2994
	    ZRspec_Hcommand (&ZIa);
2979
	    ZRspec_Hcommand (&ZIa);
2995
	    switch (CURRENT_TERMINAL) {
2980
	    switch (CURRENT_TERMINAL) {
2996
	      case 70:
2981
	      case 71:
2997
		break;
2982
		break;
2998
	      case 74:
2983
	      case 75:
2999
		RESTORE_LEXER;
2984
		RESTORE_LEXER;
3000
		goto ZL1;
2985
		goto ZL1;
3001
	      default:
2986
	      default:
3002
		goto ZL1;
2987
		goto ZL1;
3003
	    }
2988
	    }
3004
	    ADVANCE_LEXER;
2989
	    ADVANCE_LEXER;
3005
	    ZRcommand_Hlist (&ZIb);
2990
	    ZRcommand_Hlist (&ZIb);
3006
	    if ((CURRENT_TERMINAL) == 74) {
2991
	    if ((CURRENT_TERMINAL) == 75) {
3007
		RESTORE_LEXER;
2992
		RESTORE_LEXER;
3008
		goto ZL1;
2993
		goto ZL1;
3009
	    }
2994
	    }
3010
	    {
2995
	    {
3011
 
2996
 
Line 3015... Line 3000...
3015
	break;
3000
	break;
3016
      case 4: case 5: case 6: case 16: case 17:
3001
      case 4: case 5: case 6: case 16: case 17:
3017
      case 18:
3002
      case 18:
3018
	{
3003
	{
3019
	    SID_COMMAND ZIa;
3004
	    SID_COMMAND ZIa;
3020
	    SID_COMMAND ZIb;
3005
	    SID_COMMAND ZIb;
3021
 
3006
 
3022
	    ZRtext_Hcommand (&ZIa);
3007
	    ZRtext_Hcommand (&ZIa);
3023
	    ZRcommand_Hlist (&ZIb);
3008
	    ZRcommand_Hlist (&ZIb);
3024
	    if ((CURRENT_TERMINAL) == 74) {
3009
	    if ((CURRENT_TERMINAL) == 75) {
3025
		RESTORE_LEXER;
3010
		RESTORE_LEXER;
3026
		goto ZL1;
3011
		goto ZL1;
3027
	    }
3012
	    }
3028
	    {
3013
	    {
3029
 
3014
 
3030
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
3015
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
3031
	    }
3016
	    }
3032
	}
3017
	}
3033
	break;
3018
	break;
3034
      case 3: case 20:
3019
      case 3: case 20:
3035
	{
3020
	{
3036
	    ZRvariable_Hcommand ();
3021
	    ZRvariable_Hcommand ();
3037
	    switch (CURRENT_TERMINAL) {
3022
	    switch (CURRENT_TERMINAL) {
3038
	      case 70:
3023
	      case 71:
3039
		break;
3024
		break;
3040
	      case 74:
3025
	      case 75:
3041
		RESTORE_LEXER;
3026
		RESTORE_LEXER;
3042
		goto ZL1;
3027
		goto ZL1;
3043
	      default:
3028
	      default:
3044
		goto ZL1;
3029
		goto ZL1;
3045
	    }
3030
	    }
3046
	    ADVANCE_LEXER;
3031
	    ADVANCE_LEXER;
3047
	    goto ZL2_command_Hlist;
3032
	    goto ZL2_command_Hlist;
3048
	}
3033
	}
Line 3053... Line 3038...
3053
 
3038
 
3054
    (ZIc) = null ;
3039
    (ZIc) = null ;
3055
	    }
3040
	    }
3056
	}
3041
	}
3057
	break;
3042
	break;
3058
      case 74:
3043
      case 75:
3059
	return;
3044
	return;
3060
    }
3045
    }
3061
    goto ZL0;
3046
    goto ZL0;
3062
  ZL1:;
3047
  ZL1:;
3063
    SAVE_LEXER (74);
3048
    SAVE_LEXER (75);
3064
    return;
3049
    return;
3065
  ZL0:;
3050
  ZL0:;
3066
    *ZOc = ZIc;
3051
    *ZOc = ZIc;
3067
}
3052
}
3068
 
3053
 
3069
static void
3054
static void
3070
ZR336 PROTO_N ((ZI334, ZI335, ZO304, ZO305))
-
 
3071
  PROTO_T (SID_STRING *ZI334 X SID_TYPE *ZI335 X SID_STRING *ZO304 X SID_TYPE *ZO305)
3055
ZR338(SID_STRING *ZI336, SID_TYPE *ZI337, SID_STRING *ZO306, SID_TYPE *ZO307)
3072
{
3056
{
3073
    SID_STRING ZI304;
3057
    SID_STRING ZI306;
3074
    SID_TYPE ZI305;
3058
    SID_TYPE ZI307;
3075
 
3059
 
3076
    switch (CURRENT_TERMINAL) {
3060
    switch (CURRENT_TERMINAL) {
3077
      case 55:
3061
      case 56:
3078
	{
3062
	{
3079
	    SID_TYPE ZIs;
3063
	    SID_TYPE ZIs;
3080
	    SID_TYPE ZIt;
3064
	    SID_TYPE ZIt;
3081
 
3065
 
3082
	    ZRfunction_Hoperator (&ZIs);
3066
	    ZRfunction_Hoperator (&ZIs);
3083
	    if ((CURRENT_TERMINAL) == 74) {
3067
	    if ((CURRENT_TERMINAL) == 75) {
3084
		RESTORE_LEXER;
3068
		RESTORE_LEXER;
3085
		goto ZL1;
3069
		goto ZL1;
3086
	    }
3070
	    }
3087
	    {
3071
	    {
3088
 
3072
 
3089
    (ZIt) = inject_type ( (*ZI335), (ZIs) ) ;
3073
    (ZIt) = inject_type ( (*ZI337), (ZIs) ) ;
3090
	    }
3074
	    }
3091
	    ZR306 (*ZI334, ZIt, &ZI304, &ZI305);
3075
	    ZR308 (*ZI336, ZIt, &ZI306, &ZI307);
3092
	    if ((CURRENT_TERMINAL) == 74) {
3076
	    if ((CURRENT_TERMINAL) == 75) {
3093
		RESTORE_LEXER;
3077
		RESTORE_LEXER;
3094
		goto ZL1;
3078
		goto ZL1;
3095
	    }
3079
	    }
3096
	}
3080
	}
3097
	break;
3081
	break;
3098
      default:
3082
      default:
3099
	{
3083
	{
3100
	    ZR306 (*ZI334, *ZI335, &ZI304, &ZI305);
3084
	    ZR308 (*ZI336, *ZI337, &ZI306, &ZI307);
3101
	    if ((CURRENT_TERMINAL) == 74) {
3085
	    if ((CURRENT_TERMINAL) == 75) {
3102
		RESTORE_LEXER;
3086
		RESTORE_LEXER;
3103
		goto ZL1;
3087
		goto ZL1;
3104
	    }
3088
	    }
3105
	}
3089
	}
3106
	break;
3090
	break;
3107
      case 74:
3091
      case 75:
3108
	return;
3092
	return;
3109
    }
3093
    }
3110
    goto ZL0;
3094
    goto ZL0;
3111
  ZL1:;
3095
  ZL1:;
3112
    SAVE_LEXER (74);
3096
    SAVE_LEXER (75);
3113
    return;
3097
    return;
3114
  ZL0:;
3098
  ZL0:;
3115
    *ZO304 = ZI304;
3099
    *ZO306 = ZI306;
3116
    *ZO305 = ZI305;
3100
    *ZO307 = ZI307;
3117
}
3101
}
3118
 
3102
 
3119
static void
3103
static void
3120
ZR337 PROTO_N ((ZOq))
-
 
3121
  PROTO_T (SID_TYPE *ZOq)
3104
ZR339(SID_TYPE *ZOq)
3122
{
3105
{
3123
    SID_TYPE ZIq;
3106
    SID_TYPE ZIq;
3124
 
3107
 
3125
    switch (CURRENT_TERMINAL) {
3108
    switch (CURRENT_TERMINAL) {
3126
      case 64:
3109
      case 65:
3127
	{
3110
	{
3128
	    ADVANCE_LEXER;
3111
	    ADVANCE_LEXER;
3129
	    {
3112
	    {
3130
 
3113
 
3131
    (ZIq) = make_subtype ( type_ellipsis, TYPE_LIST ) ;
3114
    (ZIq) = make_subtype ( type_ellipsis, TYPE_LIST ) ;
3132
    (ZIq)->v.next = null ;
3115
    (ZIq)->v.next = null ;
3133
	    }
3116
	    }
3134
	}
3117
	}
3135
	break;
3118
	break;
3136
      case 0: case 31: case 32: case 33: case 34:
3119
      case 0: case 32: case 33: case 34: case 35:
3137
      case 36: case 37: case 38: case 41: case 42:
3120
      case 37: case 38: case 39: case 42: case 43:
3138
      case 43: case 44: case 45: case 46: case 47:
3121
      case 44: case 45: case 46: case 47: case 48:
3139
	{
3122
	{
3140
	    ZRparameter_Hlist (&ZIq);
3123
	    ZRparameter_Hlist (&ZIq);
3141
	    if ((CURRENT_TERMINAL) == 74) {
3124
	    if ((CURRENT_TERMINAL) == 75) {
3142
		RESTORE_LEXER;
3125
		RESTORE_LEXER;
3143
		goto ZL1;
3126
		goto ZL1;
3144
	    }
3127
	    }
3145
	}
3128
	}
3146
	break;
3129
	break;
3147
      case 74:
3130
      case 75:
3148
	return;
3131
	return;
3149
      default:
3132
      default:
3150
	goto ZL1;
3133
	goto ZL1;
3151
    }
3134
    }
3152
    goto ZL0;
3135
    goto ZL0;
3153
  ZL1:;
3136
  ZL1:;
3154
    SAVE_LEXER (74);
3137
    SAVE_LEXER (75);
3155
    return;
3138
    return;
3156
  ZL0:;
3139
  ZL0:;
3157
    *ZOq = ZIq;
3140
    *ZOq = ZIq;
3158
}
3141
}
3159
 
3142
 
3160
static void
3143
static void
3161
ZR338 PROTO_N ((ZOtag))
-
 
3162
  PROTO_T (int *ZOtag)
3144
ZR340(int *ZOtag)
3163
{
3145
{
3164
    int ZItag;
3146
    int ZItag;
3165
 
3147
 
3166
    switch (CURRENT_TERMINAL) {
3148
    switch (CURRENT_TERMINAL) {
3167
      case 30:
3149
      case 31:
3168
	{
3150
	{
3169
	    ADVANCE_LEXER;
3151
	    ADVANCE_LEXER;
3170
	    switch (CURRENT_TERMINAL) {
3152
	    switch (CURRENT_TERMINAL) {
3171
	      case 56:
3153
	      case 57:
3172
		break;
3154
		break;
3173
	      default:
3155
	      default:
3174
		goto ZL1;
3156
		goto ZL1;
3175
	    }
3157
	    }
3176
	    ADVANCE_LEXER;
3158
	    ADVANCE_LEXER;
3177
	    {
3159
	    {
3178
 (ZItag) = TYPE_ARITH ; 
3160
 (ZItag) = TYPE_ARITH ; 
3179
	    }
-
 
3180
	}
-
 
3181
	break;
-
 
3182
      case 36:
-
 
3183
	{
-
 
3184
	    ADVANCE_LEXER;
-
 
3185
	    switch (CURRENT_TERMINAL) {
-
 
3186
	      case 56:
-
 
3187
		break;
-
 
3188
	      default:
-
 
3189
		goto ZL1;
-
 
3190
	    }
-
 
3191
	    ADVANCE_LEXER;
-
 
3192
	    {
-
 
3193
 (ZItag) = TYPE_FLOAT ; 
-
 
3194
	    }
3161
	    }
3195
	}
3162
	}
3196
	break;
3163
	break;
3197
      case 37:
3164
      case 37:
3198
	{
3165
	{
3199
	    ADVANCE_LEXER;
-
 
3200
	    switch (CURRENT_TERMINAL) {
-
 
3201
	      case 56:
-
 
3202
		break;
-
 
3203
	      default:
-
 
3204
		goto ZL1;
-
 
3205
	    }
-
 
3206
	    ADVANCE_LEXER;
-
 
3207
	    {
-
 
3208
 (ZItag) = TYPE_INT ; 
-
 
3209
	    }
-
 
3210
	}
-
 
3211
	break;
-
 
3212
      case 40:
-
 
3213
	{
-
 
3214
	    ADVANCE_LEXER;
3166
	    ADVANCE_LEXER;
3215
	    switch (CURRENT_TERMINAL) {
3167
	    switch (CURRENT_TERMINAL) {
3216
	      case 56:
3168
	      case 57:
3217
		break;
3169
		break;
3218
	      default:
3170
	      default:
3219
		goto ZL1;
3171
		goto ZL1;
3220
	    }
3172
	    }
3221
	    ADVANCE_LEXER;
3173
	    ADVANCE_LEXER;
3222
	    {
3174
	    {
3223
 (ZItag) = TYPE_SCALAR ; 
3175
 (ZItag) = TYPE_FLOAT ; 
3224
	    }
3176
	    }
3225
	}
3177
	}
3226
	break;
3178
	break;
3227
      case 42:
3179
      case 38:
3228
	{
3180
	{
3229
	    ADVANCE_LEXER;
3181
	    ADVANCE_LEXER;
3230
	    switch (CURRENT_TERMINAL) {
3182
	    switch (CURRENT_TERMINAL) {
3231
	      case 56:
3183
	      case 57:
3232
		break;
3184
		break;
3233
	      default:
3185
	      default:
3234
		goto ZL1;
3186
		goto ZL1;
3235
	    }
3187
	    }
3236
	    ADVANCE_LEXER;
3188
	    ADVANCE_LEXER;
3237
	    {
3189
	    {
3238
 (ZItag) = TYPE_SIGNED ; 
3190
 (ZItag) = TYPE_INT ; 
-
 
3191
	    }
-
 
3192
	}
-
 
3193
	break;
-
 
3194
      case 41:
-
 
3195
	{
-
 
3196
	    ADVANCE_LEXER;
-
 
3197
	    switch (CURRENT_TERMINAL) {
-
 
3198
	      case 57:
-
 
3199
		break;
-
 
3200
	      default:
-
 
3201
		goto ZL1;
-
 
3202
	    }
-
 
3203
	    ADVANCE_LEXER;
-
 
3204
	    {
-
 
3205
 (ZItag) = TYPE_SCALAR ; 
3239
	    }
3206
	    }
3240
	}
3207
	}
3241
	break;
3208
	break;
3242
      case 43:
3209
      case 43:
3243
	{
3210
	{
-
 
3211
	    ADVANCE_LEXER;
-
 
3212
	    switch (CURRENT_TERMINAL) {
-
 
3213
	      case 57:
-
 
3214
		break;
-
 
3215
	      default:
-
 
3216
		goto ZL1;
-
 
3217
	    }
-
 
3218
	    ADVANCE_LEXER;
-
 
3219
	    {
-
 
3220
 (ZItag) = TYPE_SIGNED ; 
-
 
3221
	    }
-
 
3222
	}
-
 
3223
	break;
-
 
3224
      case 44:
-
 
3225
	{
3244
	    ADVANCE_LEXER;
3226
	    ADVANCE_LEXER;
3245
	    switch (CURRENT_TERMINAL) {
3227
	    switch (CURRENT_TERMINAL) {
3246
	      case 56:
3228
	      case 57:
3247
		break;
3229
		break;
3248
	      default:
3230
	      default:
3249
		goto ZL1;
3231
		goto ZL1;
3250
	    }
3232
	    }
3251
	    ADVANCE_LEXER;
3233
	    ADVANCE_LEXER;
3252
	    {
3234
	    {
3253
 (ZItag) = TYPE_STRUCT ; 
3235
 (ZItag) = TYPE_STRUCT ; 
3254
	    }
3236
	    }
-
 
3237
	}
-
 
3238
	break;
-
 
3239
      case 45:
-
 
3240
	{
-
 
3241
	    ADVANCE_LEXER;
-
 
3242
	    switch (CURRENT_TERMINAL) {
-
 
3243
	      case 57:
-
 
3244
		break;
-
 
3245
	      default:
-
 
3246
		goto ZL1;
-
 
3247
	    }
-
 
3248
	    ADVANCE_LEXER;
-
 
3249
	    {
-
 
3250
 (ZItag) = TYPE_UNION ; 
-
 
3251
	    }
3255
	}
3252
	}
3256
	break;
3253
	break;
3257
      case 44:
3254
      case 46:
3258
	{
3255
	{
3259
	    ADVANCE_LEXER;
3256
	    ADVANCE_LEXER;
3260
	    switch (CURRENT_TERMINAL) {
3257
	    switch (CURRENT_TERMINAL) {
3261
	      case 56:
3258
	      case 57:
3262
		break;
3259
		break;
3263
	      default:
3260
	      default:
3264
		goto ZL1;
3261
		goto ZL1;
3265
	    }
3262
	    }
3266
	    ADVANCE_LEXER;
3263
	    ADVANCE_LEXER;
3267
	    {
3264
	    {
3268
 (ZItag) = TYPE_UNION ; 
3265
 (ZItag) = TYPE_UNSIGNED ; 
3269
	    }
3266
	    }
3270
	}
3267
	}
3271
	break;
3268
	break;
3272
      case 45:
3269
      case 75:
-
 
3270
	return;
-
 
3271
      default:
-
 
3272
	goto ZL1;
-
 
3273
    }
-
 
3274
    goto ZL0;
-
 
3275
  ZL1:;
-
 
3276
    SAVE_LEXER (75);
-
 
3277
    return;
-
 
3278
  ZL0:;
-
 
3279
    *ZOtag = ZItag;
-
 
3280
}
-
 
3281
 
-
 
3282
static void
-
 
3283
ZRdirect_Hdeclarator(SID_IDENTIFIER *ZO316, SID_TYPE *ZO317)
-
 
3284
{
-
 
3285
    SID_IDENTIFIER ZI316;
-
 
3286
    SID_TYPE ZI317;
-
 
3287
 
-
 
3288
    switch (CURRENT_TERMINAL) {
-
 
3289
      case 56:
3273
	{
3290
	{
3274
	    ADVANCE_LEXER;
-
 
3275
	    switch (CURRENT_TERMINAL) {
-
 
3276
	      case 56:
-
 
3277
		break;
-
 
3278
	      default:
-
 
3279
		goto ZL1;
-
 
3280
	    }
-
 
3281
	    ADVANCE_LEXER;
-
 
3282
	    {
-
 
3283
 (ZItag) = TYPE_UNSIGNED ; 
-
 
3284
	    }
-
 
3285
	}
-
 
3286
	break;
-
 
3287
      case 74:
-
 
3288
	return;
-
 
3289
      default:
-
 
3290
	goto ZL1;
-
 
3291
    }
-
 
3292
    goto ZL0;
-
 
3293
  ZL1:;
-
 
3294
    SAVE_LEXER (74);
-
 
3295
    return;
-
 
3296
  ZL0:;
-
 
3297
    *ZOtag = ZItag;
-
 
3298
}
-
 
3299
 
-
 
3300
static void
-
 
3301
ZRdirect_Hdeclarator PROTO_N ((ZO314, ZO315))
-
 
3302
  PROTO_T (SID_IDENTIFIER *ZO314 X SID_TYPE *ZO315)
-
 
3303
{
-
 
3304
    SID_IDENTIFIER ZI314;
-
 
3305
    SID_TYPE ZI315;
-
 
3306
 
-
 
3307
    switch (CURRENT_TERMINAL) {
-
 
3308
      case 55:
-
 
3309
	{
-
 
3310
	    SID_IDENTIFIER ZIid;
3291
	    SID_IDENTIFIER ZIid;
3311
	    SID_TYPE ZIt;
3292
	    SID_TYPE ZIt;
3312
 
3293
 
3313
	    ADVANCE_LEXER;
3294
	    ADVANCE_LEXER;
3314
	    ZRdeclarator (&ZIid, &ZIt);
3295
	    ZRdeclarator (&ZIid, &ZIt);
3315
	    switch (CURRENT_TERMINAL) {
3296
	    switch (CURRENT_TERMINAL) {
3316
	      case 56:
3297
	      case 57:
3317
		break;
3298
		break;
3318
	      case 74:
3299
	      case 75:
3319
		RESTORE_LEXER;
3300
		RESTORE_LEXER;
3320
		goto ZL1;
3301
		goto ZL1;
3321
	      default:
3302
	      default:
3322
		goto ZL1;
3303
		goto ZL1;
3323
	    }
3304
	    }
3324
	    ADVANCE_LEXER;
3305
	    ADVANCE_LEXER;
3325
	    ZR316 (ZIid, ZIt, &ZI314, &ZI315);
3306
	    ZR318 (ZIid, ZIt, &ZI316, &ZI317);
3326
	    if ((CURRENT_TERMINAL) == 74) {
3307
	    if ((CURRENT_TERMINAL) == 75) {
3327
		RESTORE_LEXER;
3308
		RESTORE_LEXER;
3328
		goto ZL1;
3309
		goto ZL1;
3329
	    }
3310
	    }
3330
	}
3311
	}
3331
	break;
3312
	break;
Line 3333... Line 3314...
3333
	{
3314
	{
3334
	    SID_IDENTIFIER ZIid;
3315
	    SID_IDENTIFIER ZIid;
3335
	    SID_TYPE ZIt;
3316
	    SID_TYPE ZIt;
3336
 
3317
 
3337
	    ZRidentifier (&ZIid);
3318
	    ZRidentifier (&ZIid);
3338
	    if ((CURRENT_TERMINAL) == 74) {
3319
	    if ((CURRENT_TERMINAL) == 75) {
3339
		RESTORE_LEXER;
3320
		RESTORE_LEXER;
3340
		goto ZL1;
3321
		goto ZL1;
3341
	    }
3322
	    }
3342
	    {
3323
	    {
3343
 
3324
 
3344
    (ZIt) = null ;
3325
    (ZIt) = null ;
3345
	    }
3326
	    }
3346
	    ZR316 (ZIid, ZIt, &ZI314, &ZI315);
3327
	    ZR318 (ZIid, ZIt, &ZI316, &ZI317);
3347
	    if ((CURRENT_TERMINAL) == 74) {
3328
	    if ((CURRENT_TERMINAL) == 75) {
3348
		RESTORE_LEXER;
3329
		RESTORE_LEXER;
3349
		goto ZL1;
3330
		goto ZL1;
3350
	    }
3331
	    }
3351
	}
3332
	}
3352
	break;
3333
	break;
3353
      case 74:
3334
      case 75:
3354
	return;
3335
	return;
3355
      default:
3336
      default:
3356
	goto ZL1;
3337
	goto ZL1;
3357
    }
3338
    }
3358
    goto ZL0;
3339
    goto ZL0;
3359
  ZL1:;
3340
  ZL1:;
3360
    SAVE_LEXER (74);
3341
    SAVE_LEXER (75);
3361
    return;
3342
    return;
3362
  ZL0:;
3343
  ZL0:;
3363
    *ZO314 = ZI314;
3344
    *ZO316 = ZI316;
3364
    *ZO315 = ZI315;
3345
    *ZO317 = ZI317;
3365
}
3346
}
3366
 
3347
 
3367
static void
3348
static void
3368
ZRtype_Hcommand PROTO_N ((ZOtag))
3349
ZRtype_Hcommand(int *ZOtag)
3369
  PROTO_T (int *ZOtag)
-
 
3370
{
3350
{
3371
    int ZItag;
3351
    int ZItag;
3372
 
3352
 
3373
    switch (CURRENT_TERMINAL) {
3353
    switch (CURRENT_TERMINAL) {
3374
      case 55:
3354
      case 56:
3375
	{
3355
	{
3376
	    ADVANCE_LEXER;
3356
	    ADVANCE_LEXER;
3377
	    ZR338 (&ZItag);
3357
	    ZR340 (&ZItag);
3378
	    if ((CURRENT_TERMINAL) == 74) {
3358
	    if ((CURRENT_TERMINAL) == 75) {
3379
		RESTORE_LEXER;
3359
		RESTORE_LEXER;
3380
		goto ZL1;
3360
		goto ZL1;
3381
	    }
3361
	    }
3382
	}
-
 
3383
	break;
-
 
3384
      case 43:
-
 
3385
	{
-
 
3386
	    ADVANCE_LEXER;
-
 
3387
	    {
-
 
3388
 (ZItag) = TYPE_STRUCT_TAG ; 
-
 
3389
	    }
-
 
3390
	}
3362
	}
3391
	break;
3363
	break;
3392
      case 44:
3364
      case 44:
3393
	{
3365
	{
3394
	    ADVANCE_LEXER;
3366
	    ADVANCE_LEXER;
3395
	    {
3367
	    {
-
 
3368
 (ZItag) = TYPE_STRUCT_TAG ; 
-
 
3369
	    }
-
 
3370
	}
-
 
3371
	break;
-
 
3372
      case 45:
-
 
3373
	{
-
 
3374
	    ADVANCE_LEXER;
-
 
3375
	    {
3396
 (ZItag) = TYPE_UNION_TAG ; 
3376
 (ZItag) = TYPE_UNION_TAG ; 
3397
	    }
3377
	    }
3398
	}
3378
	}
3399
	break;
3379
	break;
3400
      default:
3380
      default:
Line 3402... Line 3382...
3402
	    {
3382
	    {
3403
 (ZItag) = TYPE_GENERIC ; 
3383
 (ZItag) = TYPE_GENERIC ; 
3404
	    }
3384
	    }
3405
	}
3385
	}
3406
	break;
3386
	break;
3407
      case 74:
3387
      case 75:
3408
	return;
3388
	return;
3409
    }
3389
    }
3410
    goto ZL0;
3390
    goto ZL0;
3411
  ZL1:;
3391
  ZL1:;
3412
    SAVE_LEXER (74);
3392
    SAVE_LEXER (75);
3413
    return;
3393
    return;
3414
  ZL0:;
3394
  ZL0:;
3415
    *ZOtag = ZItag;
3395
    *ZOtag = ZItag;
3416
}
3396
}
3417
 
3397
 
3418
static void
3398
static void
3419
ZRtext_Hcommand PROTO_N ((ZOc))
3399
ZRtext_Hcommand(SID_COMMAND *ZOc)
3420
  PROTO_T (SID_COMMAND *ZOc)
-
 
3421
{
3400
{
3422
    SID_COMMAND ZIc;
3401
    SID_COMMAND ZIc;
3423
 
3402
 
3424
    switch (CURRENT_TERMINAL) {
3403
    switch (CURRENT_TERMINAL) {
3425
      case 6:
3404
      case 6:
3426
	{
3405
	{
3427
	    SID_STRING ZIs;
3406
	    SID_STRING ZIs;
3428
 
3407
 
Line 3477... Line 3456...
3477
		switch (CURRENT_TERMINAL) {
3456
		switch (CURRENT_TERMINAL) {
3478
		  case 10:
3457
		  case 10:
3479
		    {
3458
		    {
3480
			ADVANCE_LEXER;
3459
			ADVANCE_LEXER;
3481
			ZRcommand_Hlist (&ZIb);
3460
			ZRcommand_Hlist (&ZIb);
3482
			if ((CURRENT_TERMINAL) == 74) {
3461
			if ((CURRENT_TERMINAL) == 75) {
3483
			    RESTORE_LEXER;
3462
			    RESTORE_LEXER;
3484
			    goto ZL1;
3463
			    goto ZL1;
3485
			}
3464
			}
3486
		    }
3465
		    }
3487
		    break;
3466
		    break;
Line 3491... Line 3470...
3491
 
3470
 
3492
    (ZIb) = null ;
3471
    (ZIb) = null ;
3493
			}
3472
			}
3494
		    }
3473
		    }
3495
		    break;
3474
		    break;
3496
		  case 74:
3475
		  case 75:
3497
		    RESTORE_LEXER;
3476
		    RESTORE_LEXER;
3498
		    goto ZL1;
3477
		    goto ZL1;
3499
		}
3478
		}
3500
	    }
3479
	    }
3501
	    switch (CURRENT_TERMINAL) {
3480
	    switch (CURRENT_TERMINAL) {
Line 3512... Line 3491...
3512
    if ( (ZIb) ) {
3491
    if ( (ZIb) ) {
3513
	q = make_object ( (ZIs), OBJ_IF ) ;
3492
	q = make_object ( (ZIs), OBJ_IF ) ;
3514
	q->u.u_num = CMD_ELSE ;
3493
	q->u.u_num = CMD_ELSE ;
3515
	p = join_object ( p, q ) ;
3494
	p = join_object ( p, q ) ;
3516
	p = join_object ( p, (ZIb) ) ;
3495
	p = join_object ( p, (ZIb) ) ;
3517
    }
3496
    }
3518
    q = make_object ( (ZIs), OBJ_IF ) ;
3497
    q = make_object ( (ZIs), OBJ_IF ) ;
3519
    q->u.u_num = CMD_ENDIF ;
3498
    q->u.u_num = CMD_ENDIF ;
3520
    (ZIc) = join_object ( p, q ) ;
3499
    (ZIc) = join_object ( p, q ) ;
3521
	    }
-
 
3522
	}
-
 
3523
	break;
-
 
3524
      case 74:
-
 
3525
	return;
-
 
3526
      default:
-
 
3527
	goto ZL1;
-
 
3528
    }
-
 
3529
    goto ZL0;
-
 
3530
  ZL1:;
-
 
3531
    SAVE_LEXER (74);
-
 
3532
    return;
-
 
3533
  ZL0:;
-
 
3534
    *ZOc = ZIc;
-
 
3535
}
-
 
3536
 
-
 
3537
static void
-
 
3538
ZR345 PROTO_N ((ZI343, ZOid, ZOt))
-
 
3539
  PROTO_T (SID_IDENTIFIER *ZI343 X SID_IDENTIFIER *ZOid X SID_TYPE *ZOt)
-
 
3540
{
-
 
3541
    SID_IDENTIFIER ZIid;
-
 
3542
    SID_TYPE ZIt;
-
 
3543
 
-
 
3544
    switch (CURRENT_TERMINAL) {
-
 
3545
      case 60:
-
 
3546
	{
-
 
3547
	    ZRbitfield_Hoperator (&ZIt);
-
 
3548
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3549
		RESTORE_LEXER;
-
 
3550
		goto ZL1;
-
 
3551
	    }
-
 
3552
	    ZIid = *ZI343;
-
 
3553
	}
-
 
3554
	break;
-
 
3555
      default:
-
 
3556
	{
-
 
3557
	    SID_TYPE ZI342;
-
 
3558
 
-
 
3559
	    {
-
 
3560
 
-
 
3561
    (ZI342) = null ;
-
 
3562
	    }
-
 
3563
	    ZR316 (*ZI343, ZI342, &ZIid, &ZIt);
-
 
3564
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3565
		RESTORE_LEXER;
-
 
3566
		goto ZL1;
-
 
3567
	    }
3500
	    }
3568
	}
3501
	}
3569
	break;
3502
	break;
3570
      case 74:
3503
      case 75:
3571
	return;
3504
	return;
3572
    }
-
 
3573
    goto ZL0;
-
 
3574
  ZL1:;
-
 
3575
    SAVE_LEXER (74);
-
 
3576
    return;
-
 
3577
  ZL0:;
-
 
3578
    *ZOid = ZIid;
-
 
3579
    *ZOt = ZIt;
-
 
3580
}
-
 
3581
 
-
 
3582
static void
-
 
3583
ZR346 PROTO_N ((ZOcmd))
-
 
3584
  PROTO_T (int *ZOcmd)
-
 
3585
{
-
 
3586
    int ZIcmd;
-
 
3587
 
-
 
3588
    switch (CURRENT_TERMINAL) {
-
 
3589
      case 55:
-
 
3590
	{
-
 
3591
	    ADVANCE_LEXER;
-
 
3592
	    ZR347 (&ZIcmd);
-
 
3593
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3594
		RESTORE_LEXER;
-
 
3595
		goto ZL1;
-
 
3596
	    }
-
 
3597
	}
-
 
3598
	break;
-
 
3599
      default:
3505
      default:
3600
	{
-
 
3601
	    {
-
 
3602
 (ZIcmd) = OBJ_FUNC ; 
-
 
3603
	    }
-
 
3604
	}
-
 
3605
	break;
-
 
3606
      case 74:
-
 
3607
	return;
-
 
3608
    }
-
 
3609
    goto ZL0;
-
 
3610
  ZL1:;
-
 
3611
    SAVE_LEXER (74);
-
 
3612
    return;
-
 
3613
  ZL0:;
-
 
3614
    *ZOcmd = ZIcmd;
-
 
3615
}
-
 
3616
 
-
 
3617
static void
-
 
3618
ZR347 PROTO_N ((ZOcmd))
-
 
3619
  PROTO_T (int *ZOcmd)
-
 
3620
{
-
 
3621
    int ZIcmd;
-
 
3622
 
-
 
3623
    switch (CURRENT_TERMINAL) {
-
 
3624
      case 35:
-
 
3625
	{
-
 
3626
	    ADVANCE_LEXER;
-
 
3627
	    switch (CURRENT_TERMINAL) {
-
 
3628
	      case 56:
-
 
3629
		break;
-
 
3630
	      default:
-
 
3631
		goto ZL1;
-
 
3632
	    }
-
 
3633
	    ADVANCE_LEXER;
-
 
3634
	    {
-
 
3635
 (ZIcmd) = OBJ_EXTERN ; 
-
 
3636
	    }
-
 
3637
	}
-
 
3638
	break;
-
 
3639
      case 48:
-
 
3640
	{
-
 
3641
	    ADVANCE_LEXER;
-
 
3642
	    switch (CURRENT_TERMINAL) {
-
 
3643
	      case 56:
-
 
3644
		break;
-
 
3645
	      default:
-
 
3646
		goto ZL1;
-
 
3647
	    }
-
 
3648
	    ADVANCE_LEXER;
-
 
3649
	    {
-
 
3650
 (ZIcmd) = OBJ_WEAK ; 
-
 
3651
	    }
-
 
3652
	}
-
 
3653
	break;
-
 
3654
      case 74:
-
 
3655
	return;
-
 
3656
      default:
-
 
3657
	goto ZL1;
3506
	goto ZL1;
3658
    }
3507
    }
3659
    goto ZL0;
3508
    goto ZL0;
3660
  ZL1:;
3509
  ZL1:;
3661
    SAVE_LEXER (74);
-
 
3662
    return;
-
 
3663
  ZL0:;
-
 
3664
    *ZOcmd = ZIcmd;
-
 
3665
}
-
 
3666
 
-
 
3667
static void
-
 
3668
ZRname_Hversion PROTO_N ((ZOv))
-
 
3669
  PROTO_T (int *ZOv)
-
 
3670
{
-
 
3671
    int ZIv;
-
 
3672
 
-
 
3673
    switch (CURRENT_TERMINAL) {
-
 
3674
      case 62:
-
 
3675
	{
-
 
3676
	    SID_STRING ZIn;
-
 
3677
 
-
 
3678
	    ADVANCE_LEXER;
-
 
3679
	    switch (CURRENT_TERMINAL) {
-
 
3680
	      case 1:
-
 
3681
		{
-
 
3682
 ZIn = token_value ; 
-
 
3683
		}
-
 
3684
		break;
-
 
3685
	      default:
-
 
3686
		goto ZL1;
-
 
3687
	    }
-
 
3688
	    ADVANCE_LEXER;
-
 
3689
	    {
-
 
3690
 
-
 
3691
    (ZIv) = atoi ( (ZIn) ) ;
-
 
3692
	    }
-
 
3693
	}
-
 
3694
	break;
-
 
3695
      default:
-
 
3696
	{
-
 
3697
	    {
-
 
3698
 
-
 
3699
    (ZIv) = no_version ;
-
 
3700
	    }
-
 
3701
	}
-
 
3702
	break;
-
 
3703
      case 74:
-
 
3704
	return;
-
 
3705
    }
-
 
3706
    goto ZL0;
-
 
3707
  ZL1:;
-
 
3708
    SAVE_LEXER (74);
3510
    SAVE_LEXER (75);
3709
    return;
3511
    return;
3710
  ZL0:;
3512
  ZL0:;
3711
    *ZOv = ZIv;
3513
    *ZOc = ZIc;
3712
}
3514
}
3713
 
3515
 
3714
static void
3516
static void
3715
ZR348 PROTO_N ((ZOt))
-
 
3716
  PROTO_T (SID_TYPE *ZOt)
3517
ZR347(SID_IDENTIFIER *ZI345, SID_IDENTIFIER *ZOid, SID_TYPE *ZOt)
3717
{
3518
{
-
 
3519
    SID_IDENTIFIER ZIid;
3718
    SID_TYPE ZIt;
3520
    SID_TYPE ZIt;
3719
 
3521
 
3720
    switch (CURRENT_TERMINAL) {
3522
    switch (CURRENT_TERMINAL) {
3721
      case 56:
3523
      case 61:
3722
	{
-
 
3723
	    SID_TYPE ZIp;
-
 
3724
 
-
 
3725
	    ADVANCE_LEXER;
-
 
3726
	    {
-
 
3727
 
-
 
3728
    (ZIp) = null ;
-
 
3729
	    }
-
 
3730
	    {
-
 
3731
 
-
 
3732
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
-
 
3733
    (ZIt)->v.next = (ZIp) ;
-
 
3734
	    }
-
 
3735
	}
-
 
3736
	break;
-
 
3737
      case 0: case 31: case 32: case 33: case 34:
-
 
3738
      case 36: case 37: case 38: case 39: case 41:
-
 
3739
      case 42: case 43: case 44: case 45: case 46:
-
 
3740
      case 47:
-
 
3741
	{
3524
	{
3742
	    SID_TYPE ZIp;
-
 
3743
 
-
 
3744
	    ZRmacro_Hparam_Hlist (&ZIp);
3525
	    ZRbitfield_Hoperator (&ZIt);
3745
	    switch (CURRENT_TERMINAL) {
3526
	    if ((CURRENT_TERMINAL) == 75) {
3746
	      case 56:
-
 
3747
		break;
-
 
3748
	      case 74:
-
 
3749
		RESTORE_LEXER;
3527
		RESTORE_LEXER;
3750
		goto ZL1;
3528
		goto ZL1;
-
 
3529
	    }
3751
	      default:
3530
	    ZIid = *ZI345;
-
 
3531
	}
3752
		goto ZL1;
3532
	break;
-
 
3533
      default:
3753
	    }
3534
	{
3754
	    ADVANCE_LEXER;
3535
	    SID_TYPE ZI344;
-
 
3536
 
3755
	    {
3537
	    {
3756
 
3538
 
-
 
3539
    (ZI344) = null ;
-
 
3540
	    }
3757
    (ZIt) = make_subtype ( ( type * ) null, TYPE_PROC ) ;
3541
	    ZR318 (*ZI345, ZI344, &ZIid, &ZIt);
3758
    (ZIt)->v.next = (ZIp) ;
3542
	    if ((CURRENT_TERMINAL) == 75) {
-
 
3543
		RESTORE_LEXER;
-
 
3544
		goto ZL1;
3759
	    }
3545
	    }
3760
	}
3546
	}
3761
	break;
3547
	break;
3762
      case 74:
3548
      case 75:
3763
	return;
3549
	return;
3764
      default:
-
 
3765
	goto ZL1;
-
 
3766
    }
3550
    }
3767
    goto ZL0;
3551
    goto ZL0;
3768
  ZL1:;
3552
  ZL1:;
3769
    SAVE_LEXER (74);
3553
    SAVE_LEXER (75);
3770
    return;
3554
    return;
3771
  ZL0:;
3555
  ZL0:;
-
 
3556
    *ZOid = ZIid;
3772
    *ZOt = ZIt;
3557
    *ZOt = ZIt;
3773
}
3558
}
3774
 
3559
 
3775
static void
3560
static void
3776
ZRdirect_Habstract_Hdeclarator PROTO_N ((ZO304, ZO305))
3561
ZRname_Hversion(int *ZOv)
3777
  PROTO_T (SID_STRING *ZO304 X SID_TYPE *ZO305)
-
 
3778
{
3562
{
3779
    SID_STRING ZI304;
-
 
3780
    SID_TYPE ZI305;
3563
    int ZIv;
3781
 
3564
 
3782
    switch (CURRENT_TERMINAL) {
3565
    switch (CURRENT_TERMINAL) {
3783
      case 0:
3566
      case 63:
-
 
3567
	{
-
 
3568
	    SID_STRING ZIn;
-
 
3569
 
-
 
3570
	    ADVANCE_LEXER;
-
 
3571
	    switch (CURRENT_TERMINAL) {
-
 
3572
	      case 1:
-
 
3573
		{
-
 
3574
 ZIn = token_value ; 
-
 
3575
		}
-
 
3576
		break;
-
 
3577
	      default:
-
 
3578
		goto ZL1;
-
 
3579
	    }
-
 
3580
	    ADVANCE_LEXER;
-
 
3581
	    {
-
 
3582
 
-
 
3583
    (ZIv) = atoi ( (ZIn) ) ;
-
 
3584
	    }
-
 
3585
	}
-
 
3586
	break;
-
 
3587
      default:
3784
	{
3588
	{
3785
	    SID_STRING ZInm;
-
 
3786
	    SID_TYPE ZIt;
-
 
3787
 
-
 
3788
	    {
3589
	    {
-
 
3590
 
3789
 ZInm = token_value ; 
3591
    (ZIv) = no_version ;
3790
	    }
3592
	    }
-
 
3593
	}
-
 
3594
	break;
-
 
3595
      case 75:
-
 
3596
	return;
-
 
3597
    }
-
 
3598
    goto ZL0;
-
 
3599
  ZL1:;
-
 
3600
    SAVE_LEXER (75);
-
 
3601
    return;
-
 
3602
  ZL0:;
-
 
3603
    *ZOv = ZIv;
-
 
3604
}
-
 
3605
 
-
 
3606
static void
-
 
3607
ZR348(int *ZOcmd)
-
 
3608
{
-
 
3609
    int ZIcmd;
-
 
3610
 
-
 
3611
    switch (CURRENT_TERMINAL) {
-
 
3612
      case 56:
-
 
3613
	{
-
 
3614
	    ADVANCE_LEXER;
-
 
3615
	    ZR349 (&ZIcmd);
-
 
3616
	    if ((CURRENT_TERMINAL) == 75) {
-
 
3617
		RESTORE_LEXER;
-
 
3618
		goto ZL1;
-
 
3619
	    }
-
 
3620
	}
-
 
3621
	break;
-
 
3622
      default:
-
 
3623
	{
-
 
3624
	    {
-
 
3625
 (ZIcmd) = OBJ_FUNC ; 
-
 
3626
	    }
-
 
3627
	}
-
 
3628
	break;
-
 
3629
      case 75:
-
 
3630
	return;
-
 
3631
    }
-
 
3632
    goto ZL0;
-
 
3633
  ZL1:;
-
 
3634
    SAVE_LEXER (75);
-
 
3635
    return;
-
 
3636
  ZL0:;
-
 
3637
    *ZOcmd = ZIcmd;
-
 
3638
}
-
 
3639
 
-
 
3640
static void
-
 
3641
ZRdirect_Habstract_Hdeclarator(SID_STRING *ZO306, SID_TYPE *ZO307)
-
 
3642
{
-
 
3643
    SID_STRING ZI306;
-
 
3644
    SID_TYPE ZI307;
-
 
3645
 
-
 
3646
    switch (CURRENT_TERMINAL) {
-
 
3647
      case 0:
-
 
3648
	{
-
 
3649
	    SID_STRING ZInm;
-
 
3650
	    SID_TYPE ZIt;
-
 
3651
 
-
 
3652
	    {
-
 
3653
 ZInm = token_value ; 
-
 
3654
	    }
3791
	    ADVANCE_LEXER;
3655
	    ADVANCE_LEXER;
3792
	    {
3656
	    {
3793
 
3657
 
3794
    (ZIt) = null ;
3658
    (ZIt) = null ;
3795
	    }
3659
	    }
3796
	    ZR306 (ZInm, ZIt, &ZI304, &ZI305);
3660
	    ZR308 (ZInm, ZIt, &ZI306, &ZI307);
3797
	    if ((CURRENT_TERMINAL) == 74) {
3661
	    if ((CURRENT_TERMINAL) == 75) {
3798
		RESTORE_LEXER;
3662
		RESTORE_LEXER;
3799
		goto ZL1;
3663
		goto ZL1;
3800
	    }
3664
	    }
3801
	}
3665
	}
3802
	break;
3666
	break;
3803
      case 55:
3667
      case 56:
3804
	{
3668
	{
3805
	    SID_STRING ZI334;
3669
	    SID_STRING ZI336;
3806
	    SID_TYPE ZI335;
3670
	    SID_TYPE ZI337;
3807
 
3671
 
3808
	    ADVANCE_LEXER;
3672
	    ADVANCE_LEXER;
3809
	    ZRabstract_Hdeclarator (&ZI334, &ZI335);
3673
	    ZRabstract_Hdeclarator (&ZI336, &ZI337);
3810
	    switch (CURRENT_TERMINAL) {
3674
	    switch (CURRENT_TERMINAL) {
3811
	      case 56:
3675
	      case 57:
3812
		break;
3676
		break;
3813
	      case 74:
3677
	      case 75:
3814
		RESTORE_LEXER;
-
 
3815
		goto ZL1;
-
 
3816
	      default:
-
 
3817
		goto ZL1;
-
 
3818
	    }
-
 
3819
	    ADVANCE_LEXER;
-
 
3820
	    ZR336 (&ZI334, &ZI335, &ZI304, &ZI305);
-
 
3821
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3822
		RESTORE_LEXER;
3678
		RESTORE_LEXER;
-
 
3679
		goto ZL1;
-
 
3680
	      default:
3823
		goto ZL1;
3681
		goto ZL1;
3824
	    }
3682
	    }
-
 
3683
	    ADVANCE_LEXER;
-
 
3684
	    ZR338 (&ZI336, &ZI337, &ZI306, &ZI307);
-
 
3685
	    if ((CURRENT_TERMINAL) == 75) {
-
 
3686
		RESTORE_LEXER;
-
 
3687
		goto ZL1;
-
 
3688
	    }
3825
	}
3689
	}
3826
	break;
3690
	break;
3827
      default:
3691
      default:
3828
	{
3692
	{
3829
	    SID_STRING ZInm;
3693
	    SID_STRING ZInm;
3830
	    SID_TYPE ZIt;
3694
	    SID_TYPE ZIt;
3831
 
3695
 
3832
	    {
3696
	    {
3833
 
3697
 
3834
    (ZInm) = null ;
3698
    (ZInm) = null ;
3835
	    }
3699
	    }
3836
	    {
3700
	    {
3837
 
3701
 
3838
    (ZIt) = null ;
3702
    (ZIt) = null ;
3839
	    }
3703
	    }
3840
	    ZR306 (ZInm, ZIt, &ZI304, &ZI305);
3704
	    ZR308 (ZInm, ZIt, &ZI306, &ZI307);
3841
	    if ((CURRENT_TERMINAL) == 74) {
3705
	    if ((CURRENT_TERMINAL) == 75) {
3842
		RESTORE_LEXER;
3706
		RESTORE_LEXER;
3843
		goto ZL1;
3707
		goto ZL1;
3844
	    }
3708
	    }
3845
	}
3709
	}
3846
	break;
3710
	break;
3847
      case 74:
3711
      case 75:
3848
	return;
3712
	return;
3849
    }
3713
    }
3850
    goto ZL0;
3714
    goto ZL0;
3851
  ZL1:;
3715
  ZL1:;
3852
    SAVE_LEXER (74);
3716
    SAVE_LEXER (75);
3853
    return;
3717
    return;
3854
  ZL0:;
3718
  ZL0:;
3855
    *ZO304 = ZI304;
3719
    *ZO306 = ZI306;
3856
    *ZO305 = ZI305;
3720
    *ZO307 = ZI307;
3857
}
3721
}
3858
 
3722
 
3859
static void
3723
static void
3860
ZRfield_Hdeclarator PROTO_N ((ZOid, ZOt))
-
 
3861
  PROTO_T (SID_IDENTIFIER *ZOid X SID_TYPE *ZOt)
3724
ZRfield_Hdeclarator(SID_IDENTIFIER *ZOid, SID_TYPE *ZOt)
3862
{
3725
{
3863
    SID_IDENTIFIER ZIid;
3726
    SID_IDENTIFIER ZIid;
3864
    SID_TYPE ZIt;
3727
    SID_TYPE ZIt;
3865
 
3728
 
3866
    switch (CURRENT_TERMINAL) {
3729
    switch (CURRENT_TERMINAL) {
3867
      case 55:
3730
      case 56:
3868
	{
3731
	{
3869
	    SID_IDENTIFIER ZI339;
3732
	    SID_IDENTIFIER ZI341;
3870
	    SID_TYPE ZI340;
3733
	    SID_TYPE ZI342;
3871
 
3734
 
3872
	    ADVANCE_LEXER;
3735
	    ADVANCE_LEXER;
3873
	    ZRdeclarator (&ZI339, &ZI340);
3736
	    ZRdeclarator (&ZI341, &ZI342);
3874
	    switch (CURRENT_TERMINAL) {
3737
	    switch (CURRENT_TERMINAL) {
3875
	      case 56:
3738
	      case 57:
3876
		break;
3739
		break;
3877
	      case 74:
3740
	      case 75:
-
 
3741
		RESTORE_LEXER;
-
 
3742
		goto ZL1;
-
 
3743
	      default:
-
 
3744
		goto ZL1;
-
 
3745
	    }
-
 
3746
	    ADVANCE_LEXER;
-
 
3747
	    ZR318 (ZI341, ZI342, &ZIid, &ZIt);
-
 
3748
	    if ((CURRENT_TERMINAL) == 75) {
3878
		RESTORE_LEXER;
3749
		RESTORE_LEXER;
3879
		goto ZL1;
-
 
3880
	      default:
-
 
3881
		goto ZL1;
3750
		goto ZL1;
3882
	    }
3751
	    }
3883
	    ADVANCE_LEXER;
-
 
3884
	    ZR316 (ZI339, ZI340, &ZIid, &ZIt);
-
 
3885
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3886
		RESTORE_LEXER;
-
 
3887
		goto ZL1;
-
 
3888
	    }
-
 
3889
	}
3752
	}
3890
	break;
3753
	break;
3891
      case 60:
3754
      case 61:
3892
	{
3755
	{
3893
	    ZRbitfield_Hoperator (&ZIt);
3756
	    ZRbitfield_Hoperator (&ZIt);
3894
	    if ((CURRENT_TERMINAL) == 74) {
3757
	    if ((CURRENT_TERMINAL) == 75) {
3895
		RESTORE_LEXER;
3758
		RESTORE_LEXER;
3896
		goto ZL1;
3759
		goto ZL1;
3897
	    }
3760
	    }
3898
	    {
3761
	    {
3899
 
3762
 
Line 3903... Line 3766...
3903
    }
3766
    }
3904
    (ZIid).iname = nm ;
3767
    (ZIid).iname = nm ;
3905
    (ZIid).ivers = no_version ;
3768
    (ZIid).ivers = no_version ;
3906
    (ZIid).ename = token_name ( nm ) ;
3769
    (ZIid).ename = token_name ( nm ) ;
3907
    (ZIid).evers = no_version ;
3770
    (ZIid).evers = no_version ;
3908
	    }
3771
	    }
3909
	}
3772
	}
3910
	break;
3773
	break;
3911
      case 0:
3774
      case 0:
3912
	{
3775
	{
3913
	    SID_IDENTIFIER ZI343;
3776
	    SID_IDENTIFIER ZI345;
3914
 
3777
 
3915
	    ZRidentifier (&ZI343);
3778
	    ZRidentifier (&ZI345);
3916
	    ZR345 (&ZI343, &ZIid, &ZIt);
3779
	    ZR347 (&ZI345, &ZIid, &ZIt);
3917
	    if ((CURRENT_TERMINAL) == 74) {
3780
	    if ((CURRENT_TERMINAL) == 75) {
3918
		RESTORE_LEXER;
3781
		RESTORE_LEXER;
3919
		goto ZL1;
3782
		goto ZL1;
3920
	    }
3783
	    }
3921
	}
3784
	}
3922
	break;
3785
	break;
3923
      case 71:
3786
      case 72:
3924
	{
3787
	{
3925
	    SID_TYPE ZIp;
3788
	    SID_TYPE ZIp;
3926
	    SID_TYPE ZIs;
3789
	    SID_TYPE ZIs;
3927
 
3790
 
3928
	    ZRptr_Hoperator (&ZIp);
3791
	    ZRptr_Hoperator (&ZIp);
3929
	    ZRdeclarator (&ZIid, &ZIs);
3792
	    ZRdeclarator (&ZIid, &ZIs);
3930
	    if ((CURRENT_TERMINAL) == 74) {
3793
	    if ((CURRENT_TERMINAL) == 75) {
3931
		RESTORE_LEXER;
3794
		RESTORE_LEXER;
3932
		goto ZL1;
3795
		goto ZL1;
3933
	    }
3796
	    }
3934
	    {
3797
	    {
3935
 
3798
 
3936
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
3799
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
3937
	    }
3800
	    }
3938
	}
3801
	}
3939
	break;
3802
	break;
3940
      case 74:
-
 
3941
	return;
-
 
3942
      default:
-
 
3943
	goto ZL1;
-
 
3944
    }
-
 
3945
    goto ZL0;
-
 
3946
  ZL1:;
-
 
3947
    SAVE_LEXER (74);
-
 
3948
    return;
-
 
3949
  ZL0:;
-
 
3950
    *ZOid = ZIid;
-
 
3951
    *ZOt = ZIt;
-
 
3952
}
-
 
3953
 
-
 
3954
static void
-
 
3955
ZRvariable_Hcommand PROTO_Z ()
-
 
3956
{
-
 
3957
    switch (CURRENT_TERMINAL) {
-
 
3958
      case 20:
-
 
3959
	{
-
 
3960
	    SID_STRING ZIs;
-
 
3961
 
-
 
3962
	    ADVANCE_LEXER;
-
 
3963
	    switch (CURRENT_TERMINAL) {
-
 
3964
	      case 2:
-
 
3965
		{
-
 
3966
 ZIs = token_value ; 
-
 
3967
		}
-
 
3968
		break;
-
 
3969
	      default:
-
 
3970
		goto ZL1;
-
 
3971
	    }
-
 
3972
	    ADVANCE_LEXER;
-
 
3973
	}
-
 
3974
	break;
-
 
3975
      case 3:
-
 
3976
	{
-
 
3977
	    SID_STRING ZInm;
-
 
3978
 
-
 
3979
	    {
-
 
3980
 ZInm = token_value ; 
-
 
3981
	    }
-
 
3982
	    ADVANCE_LEXER;
-
 
3983
	    switch (CURRENT_TERMINAL) {
-
 
3984
	      case 65:
-
 
3985
		break;
-
 
3986
	      default:
-
 
3987
		goto ZL1;
-
 
3988
	    }
-
 
3989
	    ADVANCE_LEXER;
-
 
3990
	    ZR352 (&ZInm);
-
 
3991
	    if ((CURRENT_TERMINAL) == 74) {
-
 
3992
		RESTORE_LEXER;
-
 
3993
		goto ZL1;
-
 
3994
	    }
-
 
3995
	}
-
 
3996
	break;
-
 
3997
      case 74:
3803
      case 75:
3998
	return;
3804
	return;
3999
      default:
3805
      default:
4000
	goto ZL1;
3806
	goto ZL1;
4001
    }
3807
    }
4002
    return;
3808
    goto ZL0;
4003
  ZL1:;
3809
  ZL1:;
4004
    SAVE_LEXER (74);
3810
    SAVE_LEXER (75);
4005
    return;
3811
    return;
-
 
3812
  ZL0:;
-
 
3813
    *ZOid = ZIid;
-
 
3814
    *ZOt = ZIt;
4006
}
3815
}
4007
 
3816
 
4008
static void
3817
static void
4009
ZR349 PROTO_N ((ZOkey))
3818
ZRvariable_Hcommand(void)
4010
  PROTO_T (SID_STRING *ZOkey)
-
 
4011
{
3819
{
4012
    SID_STRING ZIkey;
-
 
4013
 
-
 
4014
    switch (CURRENT_TERMINAL) {
3820
    switch (CURRENT_TERMINAL) {
4015
      case 66:
3821
      case 20:
4016
	{
3822
	{
-
 
3823
	    SID_STRING ZIs;
-
 
3824
 
4017
	    ADVANCE_LEXER;
3825
	    ADVANCE_LEXER;
-
 
3826
	    switch (CURRENT_TERMINAL) {
4018
	    ZR350 (&ZIkey);
3827
	      case 2:
-
 
3828
		{
4019
	    if ((CURRENT_TERMINAL) == 74) {
3829
 ZIs = token_value ; 
-
 
3830
		}
-
 
3831
		break;
4020
		RESTORE_LEXER;
3832
	      default:
4021
		goto ZL1;
3833
		goto ZL1;
4163
	}
4033
	}
4164
	break;
4034
	break;
4165
      default:
4035
      default:
4166
	{
4036
	{
4167
	    {
4037
	    {
4168
 (ZIp) = null ; 
4038
 (ZIp) = null ; 
4169
	    }
4039
	    }
4170
	}
4040
	}
4171
	break;
4041
	break;
4172
      case 74:
4042
      case 75:
4173
	return;
4043
	return;
4174
    }
4044
    }
4175
    goto ZL0;
4045
    goto ZL0;
4176
  ZL1:;
4046
  ZL1:;
4177
    SAVE_LEXER (74);
4047
    SAVE_LEXER (75);
4178
    return;
4048
    return;
4179
  ZL0:;
4049
  ZL0:;
4180
    *ZOp = ZIp;
4050
    *ZOp = ZIp;
4181
}
4051
}
4182
 
4052
 
4183
static void
4053
static void
4184
ZRexp_Hcommand PROTO_N ((ZOcmd))
4054
ZRexp_Hcommand(int *ZOcmd)
4185
  PROTO_T (int *ZOcmd)
-
 
4186
{
4055
{
4187
    int ZIcmd;
4056
    int ZIcmd;
4188
 
4057
 
4189
    switch (CURRENT_TERMINAL) {
4058
    switch (CURRENT_TERMINAL) {
4190
      case 8:
4059
      case 8:
4191
	{
4060
	{
4192
	    ADVANCE_LEXER;
4061
	    ADVANCE_LEXER;
4193
	    {
4062
	    {
4194
 (ZIcmd) = OBJ_CONST ; 
4063
 (ZIcmd) = OBJ_CONST ; 
4195
	    }
4064
	    }
4196
	}
4065
	}
4197
	break;
4066
	break;
4198
      case 13:
4067
      case 13:
4199
	{
4068
	{
4200
	    ADVANCE_LEXER;
4069
	    ADVANCE_LEXER;
4201
	    ZR327 (&ZIcmd);
4070
	    ZR329 (&ZIcmd);
4202
	    if ((CURRENT_TERMINAL) == 74) {
4071
	    if ((CURRENT_TERMINAL) == 75) {
4203
		RESTORE_LEXER;
4072
		RESTORE_LEXER;
4204
		goto ZL1;
4073
		goto ZL1;
4205
	    }
4074
	    }
4206
	}
4075
	}
4207
	break;
4076
	break;
4208
      case 74:
4077
      case 75:
4209
	return;
4078
	return;
4210
      default:
4079
      default:
4211
	goto ZL1;
4080
	goto ZL1;
4212
    }
4081
    }
4213
    goto ZL0;
4082
    goto ZL0;
4214
  ZL1:;
4083
  ZL1:;
4215
    SAVE_LEXER (74);
4084
    SAVE_LEXER (75);
4216
    return;
4085
    return;
4217
  ZL0:;
4086
  ZL0:;
4218
    *ZOcmd = ZIcmd;
4087
    *ZOcmd = ZIcmd;
4219
}
4088
}
4220
 
4089
 
4221
static void
4090
static void
4222
ZR352 PROTO_N ((ZInm))
-
 
4223
  PROTO_T (SID_STRING *ZInm)
4091
ZR352(SID_STRING *ZOkey)
4224
{
4092
{
-
 
4093
    SID_STRING ZIkey;
-
 
4094
 
4225
    switch (CURRENT_TERMINAL) {
4095
    switch (CURRENT_TERMINAL) {
4226
      case 67:
4096
      case 67:
4227
	{
4097
	{
4228
	    SID_STRING ZIs;
-
 
4229
 
-
 
4230
	    ADVANCE_LEXER;
4098
	    ADVANCE_LEXER;
4231
	    switch (CURRENT_TERMINAL) {
4099
	    switch (CURRENT_TERMINAL) {
4232
	      case 1:
4100
	      case 57:
-
 
4101
		break;
-
 
4102
	      default:
-
 
4103
		goto ZL1;
-
 
4104
	    }
-
 
4105
	    ADVANCE_LEXER;
4233
		{
4106
	    {
4234
 ZIs = token_value ; 
4107
 (ZIkey) = "11" ; 
-
 
4108
	    }
4235
		}
4109
	}
-
 
4110
	break;
-
 
4111
      case 70:
-
 
4112
	{
-
 
4113
	    ADVANCE_LEXER;
-
 
4114
	    switch (CURRENT_TERMINAL) {
-
 
4115
	      case 57:
4236
		break;
4116
		break;
4237
	      default:
4117
	      default:
4238
		goto ZL1;
4118
		goto ZL1;
4239
	    }
-
 
4240
	    ADVANCE_LEXER;
-
 
4241
	    {
-
 
4242
 
-
 
4243
    set_integer ( (*ZInm), -atoi ( (ZIs) ) ) ;
-
 
4244
	    }
-
 
4245
	}
-
 
4246
	break;
-
 
4247
      case 1:
-
 
4248
	{
-
 
4249
	    SID_STRING ZIs;
-
 
4250
 
-
 
4251
	    {
-
 
4252
 ZIs = token_value ; 
-
 
4253
	    }
-
 
4254
	    ADVANCE_LEXER;
-
 
4255
	    {
-
 
4256
 
-
 
4257
    set_integer ( (*ZInm), atoi ( (ZIs) ) ) ;
-
 
4258
	    }
-
 
4259
	}
-
 
4260
	break;
-
 
4261
      case 2:
-
 
4262
	{
-
 
4263
	    SID_STRING ZIs;
-
 
4264
 
-
 
4265
	    {
-
 
4266
 ZIs = token_value ; 
-
 
4267
	    }
4119
	    }
4268
	    ADVANCE_LEXER;
4120
	    ADVANCE_LEXER;
4269
	    {
4121
	    {
4270
 
-
 
4271
    set_string ( (*ZInm), (ZIs) ) ;
4122
 (ZIkey) = "10" ; 
4272
	    }
4123
	    }
4273
	}
4124
	}
4274
	break;
4125
	break;
4275
      case 74:
4126
      case 75:
4276
	return;
4127
	return;
4277
      default:
4128
      default:
4278
	goto ZL1;
4129
	goto ZL1;
4279
    }
4130
    }
4280
    return;
4131
    goto ZL0;
4281
  ZL1:;
4132
  ZL1:;
4282
    SAVE_LEXER (74);
4133
    SAVE_LEXER (75);
4283
    return;
4134
    return;
-
 
4135
  ZL0:;
-
 
4136
    *ZOkey = ZIkey;
4284
}
4137
}
4285
 
4138
 
4286
static void
4139
static void
4287
ZRif_Hcommand PROTO_N ((ZOc, ZOs))
-
 
4288
  PROTO_T (SID_COMMAND *ZOc X SID_STRING *ZOs)
4140
ZRif_Hcommand(SID_COMMAND *ZOc, SID_STRING *ZOs)
4289
{
4141
{
4290
    SID_COMMAND ZIc;
4142
    SID_COMMAND ZIc;
4291
    SID_STRING ZIs;
4143
    SID_STRING ZIs;
4292
 
4144
 
4293
    switch (CURRENT_TERMINAL) {
4145
    switch (CURRENT_TERMINAL) {
4294
      case 16:
4146
      case 16:
4295
	{
4147
	{
4296
	    ADVANCE_LEXER;
4148
	    ADVANCE_LEXER;
4297
	    ZRconstant_Hvalue (&ZIs);
4149
	    ZRconstant_Hvalue (&ZIs);
4298
	    if ((CURRENT_TERMINAL) == 74) {
4150
	    if ((CURRENT_TERMINAL) == 75) {
4299
		RESTORE_LEXER;
4151
		RESTORE_LEXER;
4300
		goto ZL1;
4152
		goto ZL1;
4301
	    }
4153
	    }
4302
	    {
4154
	    {
4303
 
4155
 
4304
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
4156
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
4305
    (ZIc)->u.u_num = CMD_IF ;
4157
    (ZIc)->u.u_num = CMD_IF ;
4306
	    }
4158
	    }
4307
	}
4159
	}
4308
	break;
4160
	break;
4309
      case 17:
4161
      case 17:
4310
	{
4162
	{
4311
	    ADVANCE_LEXER;
4163
	    ADVANCE_LEXER;
4312
	    ZRifdef_Hmacro_Hname (&ZIs);
4164
	    ZRifdef_Hmacro_Hname (&ZIs);
4313
	    if ((CURRENT_TERMINAL) == 74) {
4165
	    if ((CURRENT_TERMINAL) == 75) {
4314
		RESTORE_LEXER;
-
 
4315
		goto ZL1;
-
 
4316
	    }
-
 
4317
	    {
-
 
4318
 
-
 
4319
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
-
 
4320
    (ZIc)->u.u_num = CMD_IFDEF ;
-
 
4321
	    }
-
 
4322
	}
-
 
4323
	break;
-
 
4324
      case 18:
-
 
4325
	{
-
 
4326
	    ADVANCE_LEXER;
-
 
4327
	    ZRifdef_Hmacro_Hname (&ZIs);
-
 
4328
	    if ((CURRENT_TERMINAL) == 74) {
-
 
4329
		RESTORE_LEXER;
4166
		RESTORE_LEXER;
4330
		goto ZL1;
4167
		goto ZL1;
4331
	    }
4168
	    }
4332
	    {
4169
	    {
4333
 
4170
 
4334
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
4171
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
4335
    (ZIc)->u.u_num = CMD_IFNDEF ;
4172
    (ZIc)->u.u_num = CMD_IFDEF ;
4336
	    }
4173
	    }
4337
	}
4174
	}
4338
	break;
4175
	break;
4339
      case 74:
4176
      case 18:
4340
	return;
-
 
4341
      default:
-
 
4342
	goto ZL1;
-
 
4343
    }
4177
	{
4344
    goto ZL0;
-
 
4345
  ZL1:;
-
 
4346
    SAVE_LEXER (74);
4178
	    ADVANCE_LEXER;
4347
    return;
-
 
4348
  ZL0:;
-
 
4349
    *ZOc = ZIc;
-
 
4350
    *ZOs = ZIs;
-
 
4351
}
-
 
4352
 
-
 
4353
static void
-
 
4354
ZRbitfield_Hoperator PROTO_N ((ZOt))
4179
	    ZRifdef_Hmacro_Hname (&ZIs);
4355
  PROTO_T (SID_TYPE *ZOt)
4180
	    if ((CURRENT_TERMINAL) == 75) {
4356
{
-
 
4357
    SID_TYPE ZIt;
4181
		RESTORE_LEXER;
4358
 
-
 
4359
    if ((CURRENT_TERMINAL) == 74) {
-
 
4360
	return;
4182
		goto ZL1;
4361
    }
4183
	    }
4362
    {
4184
	    {
4363
	SID_STRING ZIa;
-
 
4364
 
4185
 
-
 
4186
    (ZIc) = make_object ( (ZIs), OBJ_IF ) ;
-
 
4187
    (ZIc)->u.u_num = CMD_IFNDEF ;
-
 
4188
	    }
-
 
4189
	}
-
 
4190
	break;
-
 
4191
      case 75:
-
 
4192
	return;
-
 
4193
      default:
-
 
4194
	goto ZL1;
-
 
4195
    }
-
 
4196
    goto ZL0;
-
 
4197
  ZL1:;
-
 
4198
    SAVE_LEXER (75);
-
 
4199
    return;
-
 
4200
  ZL0:;
-
 
4201
    *ZOc = ZIc;
-
 
4202
    *ZOs = ZIs;
-
 
4203
}
-
 
4204
 
-
 
4205
static void
-
 
4206
ZR353(SID_STRING *ZOkey)
-
 
4207
{
-
 
4208
    SID_STRING ZIkey;
-
 
4209
 
-
 
4210
    switch (CURRENT_TERMINAL) {
-
 
4211
      case 67:
-
 
4212
	{
-
 
4213
	    ADVANCE_LEXER;
-
 
4214
	    switch (CURRENT_TERMINAL) {
-
 
4215
	      case 57:
-
 
4216
		break;
-
 
4217
	      default:
-
 
4218
		goto ZL1;
-
 
4219
	    }
-
 
4220
	    ADVANCE_LEXER;
-
 
4221
	    {
-
 
4222
 (ZIkey) = "01" ; 
-
 
4223
	    }
-
 
4224
	}
-
 
4225
	break;
-
 
4226
      case 70:
-
 
4227
	{
-
 
4228
	    ADVANCE_LEXER;
-
 
4229
	    switch (CURRENT_TERMINAL) {
-
 
4230
	      case 57:
-
 
4231
		break;
-
 
4232
	      default:
-
 
4233
		goto ZL1;
-
 
4234
	    }
-
 
4235
	    ADVANCE_LEXER;
-
 
4236
	    {
-
 
4237
 (ZIkey) = "00" ; 
-
 
4238
	    }
-
 
4239
	}
-
 
4240
	break;
-
 
4241
      case 75:
-
 
4242
	return;
-
 
4243
      default:
-
 
4244
	goto ZL1;
-
 
4245
    }
-
 
4246
    goto ZL0;
-
 
4247
  ZL1:;
-
 
4248
    SAVE_LEXER (75);
-
 
4249
    return;
-
 
4250
  ZL0:;
-
 
4251
    *ZOkey = ZIkey;
-
 
4252
}
-
 
4253
 
-
 
4254
static void
-
 
4255
ZR354(SID_STRING *ZInm)
-
 
4256
{
-
 
4257
    switch (CURRENT_TERMINAL) {
-
 
4258
      case 68:
-
 
4259
	{
-
 
4260
	    SID_STRING ZIs;
-
 
4261
 
-
 
4262
	    ADVANCE_LEXER;
-
 
4263
	    switch (CURRENT_TERMINAL) {
-
 
4264
	      case 1:
-
 
4265
		{
-
 
4266
 ZIs = token_value ; 
-
 
4267
		}
-
 
4268
		break;
-
 
4269
	      default:
-
 
4270
		goto ZL1;
-
 
4271
	    }
-
 
4272
	    ADVANCE_LEXER;
-
 
4273
	    {
-
 
4274
 
-
 
4275
    set_integer ( (*ZInm), -atoi ( (ZIs) ) ) ;
-
 
4276
	    }
-
 
4277
	}
-
 
4278
	break;
-
 
4279
      case 1:
-
 
4280
	{
-
 
4281
	    SID_STRING ZIs;
-
 
4282
 
-
 
4283
	    {
-
 
4284
 ZIs = token_value ; 
-
 
4285
	    }
-
 
4286
	    ADVANCE_LEXER;
-
 
4287
	    {
-
 
4288
 
-
 
4289
    set_integer ( (*ZInm), atoi ( (ZIs) ) ) ;
-
 
4290
	    }
-
 
4291
	}
-
 
4292
	break;
-
 
4293
      case 2:
-
 
4294
	{
-
 
4295
	    SID_STRING ZIs;
-
 
4296
 
-
 
4297
	    {
-
 
4298
 ZIs = token_value ; 
-
 
4299
	    }
-
 
4300
	    ADVANCE_LEXER;
-
 
4301
	    {
-
 
4302
 
-
 
4303
    set_string ( (*ZInm), (ZIs) ) ;
-
 
4304
	    }
-
 
4305
	}
-
 
4306
	break;
-
 
4307
      case 75:
-
 
4308
	return;
-
 
4309
      default:
-
 
4310
	goto ZL1;
-
 
4311
    }
-
 
4312
    return;
-
 
4313
  ZL1:;
-
 
4314
    SAVE_LEXER (75);
-
 
4315
    return;
-
 
4316
}
-
 
4317
 
-
 
4318
static void
-
 
4319
ZRbitfield_Hoperator(SID_TYPE *ZOt)
-
 
4320
{
-
 
4321
    SID_TYPE ZIt;
-
 
4322
 
-
 
4323
    if ((CURRENT_TERMINAL) == 75) {
-
 
4324
	return;
-
 
4325
    }
-
 
4326
    {
-
 
4327
	SID_STRING ZIa;
-
 
4328
 
4365
	switch (CURRENT_TERMINAL) {
4329
	switch (CURRENT_TERMINAL) {
4366
	  case 60:
4330
	  case 61:
4367
	    break;
4331
	    break;
4368
	  default:
4332
	  default:
4369
	    goto ZL1;
4333
	    goto ZL1;
4370
	}
4334
	}
4371
	ADVANCE_LEXER;
4335
	ADVANCE_LEXER;
4372
	ZRconstant_Hvalue (&ZIa);
4336
	ZRconstant_Hvalue (&ZIa);
4373
	if ((CURRENT_TERMINAL) == 74) {
4337
	if ((CURRENT_TERMINAL) == 75) {
4374
	    RESTORE_LEXER;
4338
	    RESTORE_LEXER;
4375
	    goto ZL1;
4339
	    goto ZL1;
4376
	}
4340
	}
4377
	{
4341
	{
4378
 
4342
 
Line 4380... Line 4344...
4380
    (ZIt)->v.str = (ZIa) ;
4344
    (ZIt)->v.str = (ZIa) ;
4381
	}
4345
	}
4382
    }
4346
    }
4383
    goto ZL0;
4347
    goto ZL0;
4384
  ZL1:;
4348
  ZL1:;
4385
    SAVE_LEXER (74);
4349
    SAVE_LEXER (75);
4386
    return;
4350
    return;
4387
  ZL0:;
4351
  ZL0:;
4388
    *ZOt = ZIt;
4352
    *ZOt = ZIt;
4389
}
4353
}
4390
 
4354
 
4391
static void
4355
static void
4392
ZRuse_Hsubset_Hname PROTO_N ((ZOs))
4356
ZRuse_Hsubset_Hname(SID_STRING *ZOs)
4393
  PROTO_T (SID_STRING *ZOs)
-
 
4394
{
4357
{
4395
    SID_STRING ZIs;
4358
    SID_STRING ZIs;
4396
 
4359
 
4397
    if ((CURRENT_TERMINAL) == 74) {
4360
    if ((CURRENT_TERMINAL) == 75) {
4398
	return;
4361
	return;
4399
    }
4362
    }
4400
    {
4363
    {
4401
	SID_STRING ZIa;
4364
	SID_STRING ZIa;
4402
	SID_STRING ZIb;
4365
	SID_STRING ZIb;
4403
 
4366
 
4404
	switch (CURRENT_TERMINAL) {
-
 
4405
	  case 55:
-
 
4406
	    break;
-
 
4407
	  default:
-
 
4408
	    goto ZL1;
-
 
4409
	}
-
 
4410
	ADVANCE_LEXER;
-
 
4411
	switch (CURRENT_TERMINAL) {
-
 
4412
	  case 2:
-
 
4413
	    {
-
 
4414
 ZIa = token_value ; 
-
 
4415
	    }
-
 
4416
	    break;
-
 
4417
	  default:
-
 
4418
	    goto ZL1;
-
 
4419
	}
-
 
4420
	ADVANCE_LEXER;
-
 
4421
	switch (CURRENT_TERMINAL) {
4367
	switch (CURRENT_TERMINAL) {
4422
	  case 56:
4368
	  case 56:
4423
	    break;
4369
	    break;
4424
	  default:
4370
	  default:
4425
	    goto ZL1;
4371
	    goto ZL1;
4426
	}
4372
	}
4427
	ADVANCE_LEXER;
4373
	ADVANCE_LEXER;
-
 
4374
	switch (CURRENT_TERMINAL) {
-
 
4375
	  case 2:
-
 
4376
	    {
-
 
4377
 ZIa = token_value ; 
-
 
4378
	    }
-
 
4379
	    break;
-
 
4380
	  default:
-
 
4381
	    goto ZL1;
-
 
4382
	}
-
 
4383
	ADVANCE_LEXER;
-
 
4384
	switch (CURRENT_TERMINAL) {
-
 
4385
	  case 57:
-
 
4386
	    break;
-
 
4387
	  default:
-
 
4388
	    goto ZL1;
-
 
4389
	}
-
 
4390
	ADVANCE_LEXER;
4428
	switch (CURRENT_TERMINAL) {
4391
	switch (CURRENT_TERMINAL) {
4429
	  case 61:
4392
	  case 62:
4430
	    break;
4393
	    break;
4431
	  default:
4394
	  default:
4432
	    goto ZL1;
4395
	    goto ZL1;
4433
	}
4396
	}
4434
	ADVANCE_LEXER;
4397
	ADVANCE_LEXER;
4435
	switch (CURRENT_TERMINAL) {
4398
	switch (CURRENT_TERMINAL) {
4436
	  case 2:
4399
	  case 2:
4437
	    {
4400
	    {
4438
 ZIb = token_value ; 
4401
 ZIb = token_value ; 
4439
	    }
4402
	    }
4440
	    break;
4403
	    break;
4441
	  default:
4404
	  default:
4442
	    goto ZL1;
4405
	    goto ZL1;
4443
	}
4406
	}
4444
	ADVANCE_LEXER;
4407
	ADVANCE_LEXER;
4445
	{
4408
	{
4446
 
4409
 
4447
    (ZIs) = subset_name ( (ZIa), (ZIb), null_str ) ;
4410
    (ZIs) = subset_name ( (ZIa), (ZIb), null_str ) ;
4448
	}
4411
	}
4449
    }
4412
    }
4450
    goto ZL0;
4413
    goto ZL0;
4451
  ZL1:;
4414
  ZL1:;
4452
    SAVE_LEXER (74);
4415
    SAVE_LEXER (75);
4453
    return;
4416
    return;
4454
  ZL0:;
4417
  ZL0:;
4455
    *ZOs = ZIs;
4418
    *ZOs = ZIs;
4456
}
4419
}
4457
 
4420
 
4458
void
4421
void
4459
read_spec PROTO_N ((ZOc))
-
 
4460
  PROTO_T (SID_COMMAND *ZOc)
4422
read_spec(SID_COMMAND *ZOc)
4461
{
4423
{
4462
    SID_COMMAND ZIc;
4424
    SID_COMMAND ZIc;
4463
 
4425
 
4464
    if ((CURRENT_TERMINAL) == 74) {
4426
    if ((CURRENT_TERMINAL) == 75) {
4465
	return;
4427
	return;
4466
    }
4428
    }
4467
    {
4429
    {
4468
	ZRsubset_Hcommand (&ZIc);
4430
	ZRsubset_Hcommand (&ZIc);
4469
	switch (CURRENT_TERMINAL) {
4431
	switch (CURRENT_TERMINAL) {
4470
	  case 70:
4432
	  case 71:
4471
	    break;
4433
	    break;
4472
	  case 74:
4434
	  case 75:
4473
	    RESTORE_LEXER;
4435
	    RESTORE_LEXER;
4474
	    goto ZL1;
4436
	    goto ZL1;
4475
	  default:
4437
	  default:
4476
	    goto ZL1;
4438
	    goto ZL1;
4477
	}
4439
	}
4478
	ADVANCE_LEXER;
4440
	ADVANCE_LEXER;
4479
	switch (CURRENT_TERMINAL) {
4441
	switch (CURRENT_TERMINAL) {
4480
	  case 72:
4442
	  case 73:
4481
	    break;
4443
	    break;
4482
	  default:
4444
	  default:
4483
	    goto ZL1;
4445
	    goto ZL1;
4484
	}
4446
	}
4485
	ADVANCE_LEXER;
4447
	ADVANCE_LEXER;
Line 4488... Line 4450...
4488
  ZL1:;
4450
  ZL1:;
4489
    {
4451
    {
4490
	{
4452
	{
4491
 
4453
 
4492
    error ( ERR_SERIOUS, "Syntax error" ) ;
4454
    error ( ERR_SERIOUS, "Syntax error" ) ;
4493
	}
4455
	}
4494
	{
4456
	{
4495
 
4457
 
4496
    (ZIc) = null ;
4458
    (ZIc) = null ;
4497
	}
4459
	}
4498
    }
4460
    }
4499
  ZL0:;
4461
  ZL0:;
4500
    *ZOc = ZIc;
4462
    *ZOc = ZIc;
4501
}
4463
}
4502
 
4464
 
4503
static void
4465
static void
4504
ZRmacro_Hdeclarator PROTO_N ((ZOid, ZOt))
-
 
4505
  PROTO_T (SID_IDENTIFIER *ZOid X SID_TYPE *ZOt)
4466
ZRmacro_Hdeclarator(SID_IDENTIFIER *ZOid, SID_TYPE *ZOt)
4506
{
4467
{
4507
    SID_IDENTIFIER ZIid;
4468
    SID_IDENTIFIER ZIid;
4508
    SID_TYPE ZIt;
4469
    SID_TYPE ZIt;
4509
 
4470
 
4510
    switch (CURRENT_TERMINAL) {
4471
    switch (CURRENT_TERMINAL) {
4511
      case 0:
4472
      case 0:
4512
	{
4473
	{
4513
	    ZRidentifier (&ZIid);
4474
	    ZRidentifier (&ZIid);
4514
	    if ((CURRENT_TERMINAL) == 74) {
4475
	    if ((CURRENT_TERMINAL) == 75) {
4515
		RESTORE_LEXER;
4476
		RESTORE_LEXER;
4516
		goto ZL1;
4477
		goto ZL1;
4517
	    }
4478
	    }
4518
	    {
4479
	    {
4519
 
4480
 
4520
    (ZIt) = null ;
4481
    (ZIt) = null ;
4521
	    }
4482
	    }
4522
	}
4483
	}
4523
	break;
4484
	break;
4524
      case 71:
4485
      case 72:
4525
	{
4486
	{
4526
	    SID_TYPE ZIp;
4487
	    SID_TYPE ZIp;
4527
	    SID_TYPE ZIs;
4488
	    SID_TYPE ZIs;
4528
 
4489
 
4529
	    ZRptr_Hoperator (&ZIp);
4490
	    ZRptr_Hoperator (&ZIp);
4530
	    ZRmacro_Hdeclarator (&ZIid, &ZIs);
4491
	    ZRmacro_Hdeclarator (&ZIid, &ZIs);
4531
	    if ((CURRENT_TERMINAL) == 74) {
4492
	    if ((CURRENT_TERMINAL) == 75) {
4532
		RESTORE_LEXER;
4493
		RESTORE_LEXER;
4533
		goto ZL1;
4494
		goto ZL1;
4534
	    }
4495
	    }
4535
	    {
4496
	    {
4536
 
4497
 
4537
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
4498
    (ZIt) = inject_type ( (ZIs), (ZIp) ) ;
4538
	    }
4499
	    }
4539
	}
4500
	}
4540
	break;
4501
	break;
4541
      case 74:
4502
      case 75:
4542
	return;
4503
	return;
4543
      default:
4504
      default:
4544
	goto ZL1;
4505
	goto ZL1;
4545
    }
4506
    }
4546
    goto ZL0;
4507
    goto ZL0;
4547
  ZL1:;
4508
  ZL1:;
4548
    SAVE_LEXER (74);
4509
    SAVE_LEXER (75);
4549
    return;
4510
    return;
4550
  ZL0:;
4511
  ZL0:;
4551
    *ZOid = ZIid;
4512
    *ZOid = ZIid;
4552
    *ZOt = ZIt;
4513
    *ZOt = ZIt;
4553
}
4514
}
4554
 
4515
 
4555
static void
4516
static void
4556
ZRsubset_Hname PROTO_N ((ZOs))
4517
ZRsubset_Hname(SID_STRING *ZOs)
4557
  PROTO_T (SID_STRING *ZOs)
-
 
4558
{
4518
{
4559
    SID_STRING ZIs;
4519
    SID_STRING ZIs;
4560
 
4520
 
4561
    if ((CURRENT_TERMINAL) == 74) {
4521
    if ((CURRENT_TERMINAL) == 75) {
4562
	return;
4522
	return;
4563
    }
4523
    }
4564
    {
4524
    {
4565
	SID_STRING ZIa;
4525
	SID_STRING ZIa;
4566
 
4526
 
4567
	switch (CURRENT_TERMINAL) {
4527
	switch (CURRENT_TERMINAL) {
4568
	  case 2:
4528
	  case 2:
4569
	    {
4529
	    {
4570
 ZIa = token_value ; 
4530
 ZIa = token_value ; 
4571
	    }
4531
	    }
4572
	    break;
4532
	    break;
4573
	  default:
4533
	  default:
4574
	    goto ZL1;
4534
	    goto ZL1;
4575
	}
4535
	}
4576
	ADVANCE_LEXER;
4536
	ADVANCE_LEXER;
4577
	ZR318 (&ZIa, &ZIs);
4537
	ZR320 (&ZIa, &ZIs);
4578
	if ((CURRENT_TERMINAL) == 74) {
4538
	if ((CURRENT_TERMINAL) == 75) {
4579
	    RESTORE_LEXER;
4539
	    RESTORE_LEXER;
4580
	    goto ZL1;
4540
	    goto ZL1;
4581
	}
4541
	}
4582
    }
4542
    }
4583
    goto ZL0;
4543
    goto ZL0;
4584
  ZL1:;
4544
  ZL1:;
4585
    SAVE_LEXER (74);
4545
    SAVE_LEXER (75);
4586
    return;
4546
    return;
4587
  ZL0:;
4547
  ZL0:;
4588
    *ZOs = ZIs;
4548
    *ZOs = ZIs;
4589
}
4549
}
4590
 
4550
 
4591
static void
4551
static void
4592
ZRbuiltin_Htype PROTO_N ((ZOb))
4552
ZRbuiltin_Htype(unsigned *ZOb)
4593
  PROTO_T (unsigned *ZOb)
-
 
4594
{
4553
{
4595
    unsigned ZIb;
4554
    unsigned ZIb;
4596
 
4555
 
4597
    if ((CURRENT_TERMINAL) == 74) {
4556
    if ((CURRENT_TERMINAL) == 75) {
4598
	return;
4557
	return;
4599
    }
4558
    }
4600
    {
4559
    {
4601
	unsigned ZIa;
4560
	unsigned ZIa;
4602
	unsigned ZIc;
4561
	unsigned ZIc;
4603
 
4562
 
4604
	ZRtype_Hkeyword (&ZIa);
4563
	ZRtype_Hkeyword (&ZIa);
4605
	{
4564
	{
4606
	    switch (CURRENT_TERMINAL) {
4565
	    switch (CURRENT_TERMINAL) {
4607
	      case 31: case 33: case 36: case 37: case 38:
4566
	      case 32: case 34: case 37: case 38: case 39:
4608
	      case 41: case 42: case 45: case 46:
4567
	      case 42: case 43: case 46: case 47:
4609
		{
4568
		{
4610
		    unsigned ZId;
4569
		    unsigned ZId;
4611
 
4570
 
4612
		    ZRbuiltin_Htype (&ZId);
4571
		    ZRbuiltin_Htype (&ZId);
4613
		    if ((CURRENT_TERMINAL) == 74) {
4572
		    if ((CURRENT_TERMINAL) == 75) {
4614
			RESTORE_LEXER;
4573
			RESTORE_LEXER;
4615
			goto ZL1;
4574
			goto ZL1;
4616
		    }
4575
		    }
4617
		    {
4576
		    {
4618
 
4577
 
Line 4624... Line 4583...
4624
	    break ;
4583
	    break ;
4625
	}
4584
	}
4626
    }
4585
    }
4627
    (ZIc) = ( (ZIa) | (ZId) ) ;
4586
    (ZIc) = ( (ZIa) | (ZId) ) ;
4628
		    }
4587
		    }
4629
		}
4588
		}
4630
		break;
4589
		break;
4631
	      default:
4590
	      default:
4632
		{
4591
		{
4633
		    ZIc = ZIa;
4592
		    ZIc = ZIa;
4634
		}
4593
		}
4635
		break;
4594
		break;
4636
	      case 74:
4595
	      case 75:
4637
		RESTORE_LEXER;
4596
		RESTORE_LEXER;
4638
		goto ZL1;
4597
		goto ZL1;
4639
	    }
4598
	    }
4640
	}
4599
	}
4641
	ZIb = ZIc;
4600
	ZIb = ZIc;
4642
    }
4601
    }
4643
    goto ZL0;
4602
    goto ZL0;
4644
  ZL1:;
4603
  ZL1:;
4645
    SAVE_LEXER (74);
4604
    SAVE_LEXER (75);
4646
    return;
4605
    return;
4647
  ZL0:;
4606
  ZL0:;
4648
    *ZOb = ZIb;
4607
    *ZOb = ZIb;
4649
}
4608
}
4650
 
4609
 
4651
static void
4610
static void
4652
ZRobject_Hqualifier PROTO_N ((ZOlv))
4611
ZRobject_Hqualifier(int *ZOlv)
4653
  PROTO_T (int *ZOlv)
-
 
4654
{
4612
{
4655
    int ZIlv;
4613
    int ZIlv;
4656
 
4614
 
4657
    switch (CURRENT_TERMINAL) {
4615
    switch (CURRENT_TERMINAL) {
4658
      case 39:
4616
      case 40:
4659
	{
4617
	{
4660
	    ADVANCE_LEXER;
4618
	    ADVANCE_LEXER;
4661
	    {
4619
	    {
4662
 (ZIlv) = TYPE_LVALUE ; 
4620
 (ZIlv) = TYPE_LVALUE ; 
4663
	    }
4621
	    }
Line 4668... Line 4626...
4668
	    {
4626
	    {
4669
 (ZIlv) = TYPE_RVALUE ; 
4627
 (ZIlv) = TYPE_RVALUE ; 
4670
	    }
4628
	    }
4671
	}
4629
	}
4672
	break;
4630
	break;
4673
      case 74:
4631
      case 75:
4674
	return;
4632
	return;
4675
    }
4633
    }
4676
    *ZOlv = ZIlv;
4634
    *ZOlv = ZIlv;
4677
}
4635
}
4678
 
4636
 
4679
static void
4637
static void
4680
ZRfield_Hlist PROTO_N ((ZIm, ZOc))
-
 
4681
  PROTO_T (SID_TYPE ZIm X SID_COMMAND *ZOc)
4638
ZRfield_Hlist(SID_TYPE ZIm, SID_COMMAND *ZOc)
4682
{
4639
{
4683
    SID_COMMAND ZIc;
4640
    SID_COMMAND ZIc;
4684
 
4641
 
4685
    switch (CURRENT_TERMINAL) {
4642
    switch (CURRENT_TERMINAL) {
4686
      case 16: case 17: case 18:
4643
      case 16: case 17: case 18:
Line 4698... Line 4655...
4698
		switch (CURRENT_TERMINAL) {
4655
		switch (CURRENT_TERMINAL) {
4699
		  case 10:
4656
		  case 10:
4700
		    {
4657
		    {
4701
			ADVANCE_LEXER;
4658
			ADVANCE_LEXER;
4702
			ZRfield_Hlist (ZIm, &ZIb);
4659
			ZRfield_Hlist (ZIm, &ZIb);
4703
			if ((CURRENT_TERMINAL) == 74) {
4660
			if ((CURRENT_TERMINAL) == 75) {
4704
			    RESTORE_LEXER;
4661
			    RESTORE_LEXER;
4705
			    goto ZL1;
4662
			    goto ZL1;
4706
			}
4663
			}
4707
		    }
4664
		    }
4708
		    break;
4665
		    break;
Line 4712... Line 4669...
4712
 
4669
 
4713
    (ZIb) = null ;
4670
    (ZIb) = null ;
4714
			}
4671
			}
4715
		    }
4672
		    }
4716
		    break;
4673
		    break;
4717
		  case 74:
4674
		  case 75:
4718
		    RESTORE_LEXER;
4675
		    RESTORE_LEXER;
4719
		    goto ZL1;
4676
		    goto ZL1;
4720
		}
4677
		}
4721
	    }
4678
	    }
4722
	    switch (CURRENT_TERMINAL) {
4679
	    switch (CURRENT_TERMINAL) {
Line 4739... Line 4696...
4739
    q = make_object ( (ZIs), OBJ_IF ) ;
4696
    q = make_object ( (ZIs), OBJ_IF ) ;
4740
    q->u.u_num = CMD_ENDIF ;
4697
    q->u.u_num = CMD_ENDIF ;
4741
    (ZIc1) = join_object ( p, q ) ;
4698
    (ZIc1) = join_object ( p, q ) ;
4742
	    }
4699
	    }
4743
	    ZRfield_Hlist (ZIm, &ZIc2);
4700
	    ZRfield_Hlist (ZIm, &ZIc2);
4744
	    if ((CURRENT_TERMINAL) == 74) {
4701
	    if ((CURRENT_TERMINAL) == 75) {
4745
		RESTORE_LEXER;
4702
		RESTORE_LEXER;
4746
		goto ZL1;
4703
		goto ZL1;
4747
	    }
4704
	    }
4748
	    {
4705
	    {
4749
 
4706
 
4750
    (ZIc) = join_object ( (ZIc1), (ZIc2) ) ;
4707
    (ZIc) = join_object ( (ZIc1), (ZIc2) ) ;
4751
	    }
4708
	    }
4752
	}
4709
	}
4753
	break;
4710
	break;
4754
      case 0: case 31: case 32: case 33: case 34:
4711
      case 0: case 32: case 33: case 34: case 35:
4755
      case 36: case 37: case 38: case 41: case 42:
4712
      case 37: case 38: case 39: case 42: case 43:
4756
      case 43: case 44: case 45: case 46: case 47:
4713
      case 44: case 45: case 46: case 47: case 48:
4757
	{
4714
	{
4758
	    SID_TYPE ZIt;
4715
	    SID_TYPE ZIt;
4759
	    SID_COMMAND ZIa;
4716
	    SID_COMMAND ZIa;
4760
	    SID_COMMAND ZIb;
4717
	    SID_COMMAND ZIb;
4761
 
4718
 
4762
	    ZRqualified_Htype (&ZIt);
4719
	    ZRqualified_Htype (&ZIt);
4763
	    ZRfield_Hdeclarator_Hlist (ZIm, ZIt, &ZIa);
4720
	    ZRfield_Hdeclarator_Hlist (ZIm, ZIt, &ZIa);
4764
	    switch (CURRENT_TERMINAL) {
4721
	    switch (CURRENT_TERMINAL) {
4765
	      case 70:
4722
	      case 71:
4766
		break;
4723
		break;
4767
	      case 74:
4724
	      case 75:
4768
		RESTORE_LEXER;
4725
		RESTORE_LEXER;
4769
		goto ZL1;
4726
		goto ZL1;
4770
	      default:
4727
	      default:
4771
		goto ZL1;
4728
		goto ZL1;
4772
	    }
4729
	    }
4773
	    ADVANCE_LEXER;
4730
	    ADVANCE_LEXER;
4774
	    ZRfield_Hlist (ZIm, &ZIb);
4731
	    ZRfield_Hlist (ZIm, &ZIb);
4775
	    if ((CURRENT_TERMINAL) == 74) {
4732
	    if ((CURRENT_TERMINAL) == 75) {
4776
		RESTORE_LEXER;
4733
		RESTORE_LEXER;
4777
		goto ZL1;
4734
		goto ZL1;
4778
	    }
4735
	    }
4779
	    {
4736
	    {
4780
 
4737
 
4781
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
4738
    (ZIc) = join_object ( (ZIa), (ZIb) ) ;
4782
	    }
4739
	    }
4783
	}
4740
	}
4784
	break;
4741
	break;
4785
      default:
4742
      default:
4786
	{
4743
	{
4787
	    {
4744
	    {
4788
 
4745
 
4789
    (ZIc) = null ;
4746
    (ZIc) = null ;
4790
	    }
4747
	    }
4791
	}
4748
	}
4792
	break;
4749
	break;
4793
      case 74:
4750
      case 75:
4794
	return;
4751
	return;
4795
    }
4752
    }
4796
    goto ZL0;
4753
    goto ZL0;
4797
  ZL1:;
4754
  ZL1:;
4798
    SAVE_LEXER (74);
4755
    SAVE_LEXER (75);
4799
    return;
4756
    return;
4800
  ZL0:;
4757
  ZL0:;
4801
    *ZOc = ZIc;
4758
    *ZOc = ZIc;
4802
}
4759
}
4803
 
4760
 
4804
static void
4761
static void
4805
ZRptr_Hoperator PROTO_N ((ZOt))
4762
ZRptr_Hoperator(SID_TYPE *ZOt)
4806
  PROTO_T (SID_TYPE *ZOt)
-
 
4807
{
4763
{
4808
    SID_TYPE ZIt;
4764
    SID_TYPE ZIt;
4809
 
4765
 
4810
    if ((CURRENT_TERMINAL) == 74) {
4766
    if ((CURRENT_TERMINAL) == 75) {
4811
	return;
4767
	return;
4812
    }
4768
    }
4813
    {
4769
    {
4814
	unsigned ZIcv;
4770
	unsigned ZIcv;
4815
 
4771
 
4816
	switch (CURRENT_TERMINAL) {
4772
	switch (CURRENT_TERMINAL) {
4817
	  case 71:
4773
	  case 72:
4818
	    break;
4774
	    break;
4819
	  default:
4775
	  default:
4820
	    goto ZL1;
4776
	    goto ZL1;
4821
	}
4777
	}
4822
	ADVANCE_LEXER;
4778
	ADVANCE_LEXER;
4823
	ZRtype_Hqualifier_Hopt (&ZIcv);
4779
	ZRtype_Hqualifier_Hopt (&ZIcv);
4824
	if ((CURRENT_TERMINAL) == 74) {
4780
	if ((CURRENT_TERMINAL) == 75) {
4825
	    RESTORE_LEXER;
4781
	    RESTORE_LEXER;
4826
	    goto ZL1;
4782
	    goto ZL1;
4827
	}
4783
	}
4828
	{
4784
	{
4829
 
4785
 
Line 4831... Line 4787...
4831
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
4787
    (ZIt)->v.str = cv_qualifier [ (ZIcv) ] ;
4832
	}
4788
	}
4833
    }
4789
    }
4834
    goto ZL0;
4790
    goto ZL0;
4835
  ZL1:;
4791
  ZL1:;
4836
    SAVE_LEXER (74);
4792
    SAVE_LEXER (75);
4837
    return;
4793
    return;
4838
  ZL0:;
4794
  ZL0:;
4839
    *ZOt = ZIt;
4795
    *ZOt = ZIt;
4840
}
4796
}
4841
 
4797
 
4842
static void
4798
static void
4843
ZRtype_Hkeyword PROTO_N ((ZOb))
4799
ZRtype_Hkeyword(unsigned *ZOb)
4844
  PROTO_T (unsigned *ZOb)
-
 
4845
{
4800
{
4846
    unsigned ZIb;
4801
    unsigned ZIb;
4847
 
4802
 
4848
    switch (CURRENT_TERMINAL) {
4803
    switch (CURRENT_TERMINAL) {
4849
      case 31:
4804
      case 32:
4850
	{
-
 
4851
	    ADVANCE_LEXER;
-
 
4852
	    {
-
 
4853
 (ZIb) = BTYPE_CHAR ; 
-
 
4854
	    }
-
 
4855
	}
-
 
4856
	break;
-
 
4857
      case 33:
-
 
4858
	{
4805
	{
4859
	    ADVANCE_LEXER;
4806
	    ADVANCE_LEXER;
4860
	    {
4807
	    {
4861
 (ZIb) = BTYPE_DOUBLE ; 
4808
 (ZIb) = BTYPE_CHAR ; 
4862
	    }
4809
	    }
4863
	}
4810
	}
4864
	break;
4811
	break;
4865
      case 36:
4812
      case 34:
4866
	{
4813
	{
4867
	    ADVANCE_LEXER;
4814
	    ADVANCE_LEXER;
4868
	    {
4815
	    {
4869
 (ZIb) = BTYPE_FLOAT ; 
4816
 (ZIb) = BTYPE_DOUBLE ; 
4870
	    }
4817
	    }
4871
	}
4818
	}
4872
	break;
4819
	break;
4873
      case 37:
4820
      case 37:
4874
	{
4821
	{
4875
	    ADVANCE_LEXER;
4822
	    ADVANCE_LEXER;
4876
	    {
4823
	    {
4877
 (ZIb) = BTYPE_INT ; 
4824
 (ZIb) = BTYPE_FLOAT ; 
4878
	    }
4825
	    }
4879
	}
4826
	}
4880
	break;
4827
	break;
4881
      case 38:
4828
      case 38:
4882
	{
4829
	{
4883
	    ADVANCE_LEXER;
4830
	    ADVANCE_LEXER;
4884
	    {
4831
	    {
4885
 (ZIb) = BTYPE_LONG ; 
4832
 (ZIb) = BTYPE_INT ; 
4886
	    }
4833
	    }
4887
	}
4834
	}
4888
	break;
4835
	break;
4889
      case 41:
4836
      case 39:
4890
	{
4837
	{
4891
	    ADVANCE_LEXER;
4838
	    ADVANCE_LEXER;
4892
	    {
4839
	    {
4893
 (ZIb) = BTYPE_SHORT ; 
4840
 (ZIb) = BTYPE_LONG ; 
4894
	    }
4841
	    }
4895
	}
4842
	}
4896
	break;
4843
	break;
4897
      case 42:
4844
      case 42:
4898
	{
4845
	{
-
 
4846
	    ADVANCE_LEXER;
-
 
4847
	    {
-
 
4848
 (ZIb) = BTYPE_SHORT ; 
-
 
4849
	    }
-
 
4850
	}
-
 
4851
	break;
-
 
4852
      case 43:
-
 
4853
	{
4899
	    ADVANCE_LEXER;
4854
	    ADVANCE_LEXER;
4900
	    {
4855
	    {
4901
 (ZIb) = BTYPE_SIGNED ; 
4856
 (ZIb) = BTYPE_SIGNED ; 
4902
	    }
4857
	    }
4903
	}
4858
	}
4904
	break;
4859
	break;
4905
      case 45:
4860
      case 46:
4906
	{
4861
	{
4907
	    ADVANCE_LEXER;
4862
	    ADVANCE_LEXER;
4908
	    {
4863
	    {
4909
 (ZIb) = BTYPE_UNSIGNED ; 
4864
 (ZIb) = BTYPE_UNSIGNED ; 
4910
	    }
4865
	    }
4911
	}
4866
	}
4912
	break;
4867
	break;
4913
      case 46:
4868
      case 47:
4914
	{
4869
	{
4915
	    ADVANCE_LEXER;
4870
	    ADVANCE_LEXER;
4916
	    {
4871
	    {
4917
 (ZIb) = BTYPE_VOID ; 
4872
 (ZIb) = BTYPE_VOID ; 
4918
	    }
4873
	    }
4919
	}
4874
	}
4920
	break;
4875
	break;
4921
      case 74:
4876
      case 75:
4922
	return;
4877
	return;
4923
      default:
4878
      default:
4924
	goto ZL1;
4879
	goto ZL1;
4925
    }
4880
    }
4926
    goto ZL0;
4881
    goto ZL0;
4927
  ZL1:;
4882
  ZL1:;
4928
    SAVE_LEXER (74);
4883
    SAVE_LEXER (75);
4929
    return;
4884
    return;
4930
  ZL0:;
4885
  ZL0:;
4931
    *ZOb = ZIb;
4886
    *ZOb = ZIb;
4932
}
4887
}
4933
 
4888