Subversion Repositories tendra.SVN

Rev

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

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