Subversion Repositories tendra.SVN

Rev

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