Subversion Repositories tendra.SVN

Rev

Rev 2 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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