Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – tendra.SVN – Blame – /branches/algol60/src/producers/cpp/syntax/syntax6.c – Rev 2

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