]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/byacc/test/btyacc/grammar.output
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / byacc / test / btyacc / grammar.output
1    0  $accept : program $end
2
3    1  program :
4    2          | translation_unit
5
6    3  translation_unit : external_declaration
7    4                   | translation_unit external_declaration
8
9    5  external_declaration : declaration
10    6                       | function_definition
11    7                       | ';'
12    8                       | linkage_specification
13    9                       | T_ASM T_ASMARG ';'
14   10                       | error T_MATCHRBRACE
15   11                       | error ';'
16
17   12  braces : T_LBRACE T_MATCHRBRACE
18
19   13  linkage_specification : T_EXTERN T_STRING_LITERAL braces
20   14                        | T_EXTERN T_STRING_LITERAL declaration
21
22   15  declaration : decl_specifiers ';'
23   16              | decl_specifiers init_declarator_list ';'
24
25   17  $$1 :
26
27   18  declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';'
28
29   19  any_typedef : T_EXTENSION T_TYPEDEF
30   20              | T_TYPEDEF
31
32   21  opt_declarator_list :
33   22                      | declarator_list
34
35   23  declarator_list : declarator
36   24                  | declarator_list ',' declarator
37
38   25  $$2 :
39
40   26  $$3 :
41
42   27  function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE
43
44   28  $$4 :
45
46   29  function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE
47
48   30  opt_declaration_list :
49   31                       | T_VA_DCL
50   32                       | declaration_list
51
52   33  declaration_list : declaration
53   34                   | declaration_list declaration
54
55   35  decl_specifiers : decl_specifier
56   36                  | decl_specifiers decl_specifier
57
58   37  decl_specifier : storage_class
59   38                 | type_specifier
60   39                 | type_qualifier
61
62   40  storage_class : T_AUTO
63   41                | T_EXTERN
64   42                | T_REGISTER
65   43                | T_STATIC
66   44                | T_INLINE
67   45                | T_EXTENSION
68
69   46  type_specifier : T_CHAR
70   47                 | T_DOUBLE
71   48                 | T_FLOAT
72   49                 | T_INT
73   50                 | T_LONG
74   51                 | T_SHORT
75   52                 | T_SIGNED
76   53                 | T_UNSIGNED
77   54                 | T_VOID
78   55                 | T_Bool
79   56                 | T_Complex
80   57                 | T_Imaginary
81   58                 | T_TYPEDEF_NAME
82   59                 | struct_or_union_specifier
83   60                 | enum_specifier
84
85   61  type_qualifier : T_TYPE_QUALIFIER
86   62                 | T_DEFINE_NAME
87
88   63  struct_or_union_specifier : struct_or_union any_id braces
89   64                            | struct_or_union braces
90   65                            | struct_or_union any_id
91
92   66  struct_or_union : T_STRUCT
93   67                  | T_UNION
94
95   68  init_declarator_list : init_declarator
96   69                       | init_declarator_list ',' init_declarator
97
98   70  init_declarator : declarator
99
100   71  $$5 :
101
102   72  init_declarator : declarator '=' $$5 T_INITIALIZER
103
104   73  enum_specifier : enumeration any_id braces
105   74                 | enumeration braces
106   75                 | enumeration any_id
107
108   76  enumeration : T_ENUM
109
110   77  any_id : T_IDENTIFIER
111   78         | T_TYPEDEF_NAME
112
113   79  declarator : pointer direct_declarator
114   80             | direct_declarator
115
116   81  direct_declarator : identifier_or_ref
117   82                    | '(' declarator ')'
118   83                    | direct_declarator T_BRACKETS
119   84                    | direct_declarator '(' parameter_type_list ')'
120   85                    | direct_declarator '(' opt_identifier_list ')'
121
122   86  pointer : '*' opt_type_qualifiers
123   87          | '*' opt_type_qualifiers pointer
124
125   88  opt_type_qualifiers :
126   89                      | type_qualifier_list
127
128   90  type_qualifier_list : type_qualifier
129   91                      | type_qualifier_list type_qualifier
130
131   92  parameter_type_list : parameter_list
132   93                      | parameter_list ',' T_ELLIPSIS
133
134   94  parameter_list : parameter_declaration
135   95                 | parameter_list ',' parameter_declaration
136
137   96  parameter_declaration : decl_specifiers declarator
138   97                        | decl_specifiers abs_declarator
139   98                        | decl_specifiers
140
141   99  opt_identifier_list :
142  100                      | identifier_list
143
144  101  identifier_list : any_id
145  102                  | identifier_list ',' any_id
146
147  103  identifier_or_ref : any_id
148  104                    | '&' any_id
149
150  105  abs_declarator : pointer
151  106                 | pointer direct_abs_declarator
152  107                 | direct_abs_declarator
153
154  108  direct_abs_declarator : '(' abs_declarator ')'
155  109                        | direct_abs_declarator T_BRACKETS
156  110                        | T_BRACKETS
157  111                        | direct_abs_declarator '(' parameter_type_list ')'
158  112                        | direct_abs_declarator '(' ')'
159  113                        | '(' parameter_type_list ')'
160  114                        | '(' ')'
161 \f
162 state 0
163         $accept : . program $end  (0)
164         program : .  (1)
165
166         error  shift 1
167         '('  shift 2
168         '*'  shift 3
169         '&'  shift 4
170         T_IDENTIFIER  shift 5
171         T_TYPEDEF_NAME  shift 6
172         T_DEFINE_NAME  shift 7
173         T_AUTO  shift 8
174         T_EXTERN  shift 9
175         T_REGISTER  shift 10
176         T_STATIC  shift 11
177         T_TYPEDEF  shift 12
178         T_INLINE  shift 13
179         T_EXTENSION  shift 14
180         T_CHAR  shift 15
181         T_DOUBLE  shift 16
182         T_FLOAT  shift 17
183         T_INT  shift 18
184         T_VOID  shift 19
185         T_LONG  shift 20
186         T_SHORT  shift 21
187         T_SIGNED  shift 22
188         T_UNSIGNED  shift 23
189         T_ENUM  shift 24
190         T_STRUCT  shift 25
191         T_UNION  shift 26
192         T_Bool  shift 27
193         T_Complex  shift 28
194         T_Imaginary  shift 29
195         T_TYPE_QUALIFIER  shift 30
196         T_ASM  shift 31
197         ';'  shift 32
198         $end  reduce 1
199
200         program  goto 33
201         decl_specifiers  goto 34
202         decl_specifier  goto 35
203         storage_class  goto 36
204         type_specifier  goto 37
205         type_qualifier  goto 38
206         struct_or_union_specifier  goto 39
207         enum_specifier  goto 40
208         declarator  goto 41
209         direct_declarator  goto 42
210         struct_or_union  goto 43
211         pointer  goto 44
212         any_id  goto 45
213         identifier_or_ref  goto 46
214         enumeration  goto 47
215         translation_unit  goto 48
216         external_declaration  goto 49
217         declaration  goto 50
218         function_definition  goto 51
219         linkage_specification  goto 52
220         any_typedef  goto 53
221
222
223 state 1
224         external_declaration : error . T_MATCHRBRACE  (10)
225         external_declaration : error . ';'  (11)
226
227         T_MATCHRBRACE  shift 54
228         ';'  shift 55
229         .  error
230
231
232 state 2
233         direct_declarator : '(' . declarator ')'  (82)
234
235         '('  shift 2
236         '*'  shift 3
237         '&'  shift 4
238         T_IDENTIFIER  shift 5
239         T_TYPEDEF_NAME  shift 56
240         .  error
241
242         declarator  goto 57
243         direct_declarator  goto 42
244         pointer  goto 44
245         any_id  goto 45
246         identifier_or_ref  goto 46
247
248
249 state 3
250         pointer : '*' . opt_type_qualifiers  (86)
251         pointer : '*' . opt_type_qualifiers pointer  (87)
252         opt_type_qualifiers : .  (88)
253
254         T_DEFINE_NAME  shift 7
255         T_TYPE_QUALIFIER  shift 30
256         '('  reduce 88
257         '*'  reduce 88
258         '&'  reduce 88
259         T_IDENTIFIER  reduce 88
260         T_TYPEDEF_NAME  reduce 88
261         T_BRACKETS  reduce 88
262         ','  reduce 88
263         ')'  reduce 88
264
265         type_qualifier  goto 58
266         opt_type_qualifiers  goto 59
267         type_qualifier_list  goto 60
268
269
270 state 4
271         identifier_or_ref : '&' . any_id  (104)
272
273         T_IDENTIFIER  shift 5
274         T_TYPEDEF_NAME  shift 56
275         .  error
276
277         any_id  goto 61
278
279
280 state 5
281         any_id : T_IDENTIFIER .  (77)
282
283         .  reduce 77
284
285
286 6: reduce/reduce conflict (reduce 58, reduce 78) on '('
287 6: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPEDEF_NAME
288 6: reduce/reduce conflict (reduce 58, reduce 78) on T_DEFINE_NAME
289 6: reduce/reduce conflict (reduce 58, reduce 78) on T_AUTO
290 6: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTERN
291 6: reduce/reduce conflict (reduce 58, reduce 78) on T_REGISTER
292 6: reduce/reduce conflict (reduce 58, reduce 78) on T_STATIC
293 6: reduce/reduce conflict (reduce 58, reduce 78) on T_INLINE
294 6: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTENSION
295 6: reduce/reduce conflict (reduce 58, reduce 78) on T_CHAR
296 6: reduce/reduce conflict (reduce 58, reduce 78) on T_DOUBLE
297 6: reduce/reduce conflict (reduce 58, reduce 78) on T_FLOAT
298 6: reduce/reduce conflict (reduce 58, reduce 78) on T_INT
299 6: reduce/reduce conflict (reduce 58, reduce 78) on T_VOID
300 6: reduce/reduce conflict (reduce 58, reduce 78) on T_LONG
301 6: reduce/reduce conflict (reduce 58, reduce 78) on T_SHORT
302 6: reduce/reduce conflict (reduce 58, reduce 78) on T_SIGNED
303 6: reduce/reduce conflict (reduce 58, reduce 78) on T_UNSIGNED
304 6: reduce/reduce conflict (reduce 58, reduce 78) on T_ENUM
305 6: reduce/reduce conflict (reduce 58, reduce 78) on T_STRUCT
306 6: reduce/reduce conflict (reduce 58, reduce 78) on T_UNION
307 6: reduce/reduce conflict (reduce 58, reduce 78) on T_Bool
308 6: reduce/reduce conflict (reduce 58, reduce 78) on T_Complex
309 6: reduce/reduce conflict (reduce 58, reduce 78) on T_Imaginary
310 6: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPE_QUALIFIER
311 6: reduce/reduce conflict (reduce 58, reduce 78) on T_BRACKETS
312 6: reduce/reduce conflict (reduce 58, reduce 78) on ';'
313 6: reduce/reduce conflict (reduce 58, reduce 78) on ','
314 6: reduce/reduce conflict (reduce 58, reduce 78) on ')'
315 state 6
316         type_specifier : T_TYPEDEF_NAME .  (58)
317         any_id : T_TYPEDEF_NAME .  (78)
318
319         '('  reduce 58
320         '*'  reduce 58
321         '&'  reduce 58
322         T_IDENTIFIER  reduce 58
323         T_TYPEDEF_NAME  reduce 58
324         T_DEFINE_NAME  reduce 58
325         T_AUTO  reduce 58
326         T_EXTERN  reduce 58
327         T_REGISTER  reduce 58
328         T_STATIC  reduce 58
329         T_TYPEDEF  reduce 78
330         T_INLINE  reduce 58
331         T_EXTENSION  reduce 58
332         T_CHAR  reduce 58
333         T_DOUBLE  reduce 58
334         T_FLOAT  reduce 58
335         T_INT  reduce 58
336         T_VOID  reduce 58
337         T_LONG  reduce 58
338         T_SHORT  reduce 58
339         T_SIGNED  reduce 58
340         T_UNSIGNED  reduce 58
341         T_ENUM  reduce 58
342         T_STRUCT  reduce 58
343         T_UNION  reduce 58
344         T_Bool  reduce 58
345         T_Complex  reduce 58
346         T_Imaginary  reduce 58
347         T_TYPE_QUALIFIER  reduce 58
348         T_BRACKETS  reduce 58
349         T_LBRACE  reduce 78
350         T_VA_DCL  reduce 78
351         ';'  reduce 58
352         ','  reduce 58
353         '='  reduce 78
354         ')'  reduce 58
355
356
357 state 7
358         type_qualifier : T_DEFINE_NAME .  (62)
359
360         .  reduce 62
361
362
363 state 8
364         storage_class : T_AUTO .  (40)
365
366         .  reduce 40
367
368
369 state 9
370         linkage_specification : T_EXTERN . T_STRING_LITERAL braces  (13)
371         linkage_specification : T_EXTERN . T_STRING_LITERAL declaration  (14)
372         storage_class : T_EXTERN .  (41)
373
374         T_STRING_LITERAL  shift 62
375         '('  reduce 41
376         '*'  reduce 41
377         '&'  reduce 41
378         T_IDENTIFIER  reduce 41
379         T_TYPEDEF_NAME  reduce 41
380         T_DEFINE_NAME  reduce 41
381         T_AUTO  reduce 41
382         T_EXTERN  reduce 41
383         T_REGISTER  reduce 41
384         T_STATIC  reduce 41
385         T_INLINE  reduce 41
386         T_EXTENSION  reduce 41
387         T_CHAR  reduce 41
388         T_DOUBLE  reduce 41
389         T_FLOAT  reduce 41
390         T_INT  reduce 41
391         T_VOID  reduce 41
392         T_LONG  reduce 41
393         T_SHORT  reduce 41
394         T_SIGNED  reduce 41
395         T_UNSIGNED  reduce 41
396         T_ENUM  reduce 41
397         T_STRUCT  reduce 41
398         T_UNION  reduce 41
399         T_Bool  reduce 41
400         T_Complex  reduce 41
401         T_Imaginary  reduce 41
402         T_TYPE_QUALIFIER  reduce 41
403         ';'  reduce 41
404
405
406 state 10
407         storage_class : T_REGISTER .  (42)
408
409         .  reduce 42
410
411
412 state 11
413         storage_class : T_STATIC .  (43)
414
415         .  reduce 43
416
417
418 state 12
419         any_typedef : T_TYPEDEF .  (20)
420
421         .  reduce 20
422
423
424 state 13
425         storage_class : T_INLINE .  (44)
426
427         .  reduce 44
428
429
430 state 14
431         any_typedef : T_EXTENSION . T_TYPEDEF  (19)
432         storage_class : T_EXTENSION .  (45)
433
434         T_TYPEDEF  shift 63
435         '('  reduce 45
436         '*'  reduce 45
437         '&'  reduce 45
438         T_IDENTIFIER  reduce 45
439         T_TYPEDEF_NAME  reduce 45
440         T_DEFINE_NAME  reduce 45
441         T_AUTO  reduce 45
442         T_EXTERN  reduce 45
443         T_REGISTER  reduce 45
444         T_STATIC  reduce 45
445         T_INLINE  reduce 45
446         T_EXTENSION  reduce 45
447         T_CHAR  reduce 45
448         T_DOUBLE  reduce 45
449         T_FLOAT  reduce 45
450         T_INT  reduce 45
451         T_VOID  reduce 45
452         T_LONG  reduce 45
453         T_SHORT  reduce 45
454         T_SIGNED  reduce 45
455         T_UNSIGNED  reduce 45
456         T_ENUM  reduce 45
457         T_STRUCT  reduce 45
458         T_UNION  reduce 45
459         T_Bool  reduce 45
460         T_Complex  reduce 45
461         T_Imaginary  reduce 45
462         T_TYPE_QUALIFIER  reduce 45
463         ';'  reduce 45
464
465
466 state 15
467         type_specifier : T_CHAR .  (46)
468
469         .  reduce 46
470
471
472 state 16
473         type_specifier : T_DOUBLE .  (47)
474
475         .  reduce 47
476
477
478 state 17
479         type_specifier : T_FLOAT .  (48)
480
481         .  reduce 48
482
483
484 state 18
485         type_specifier : T_INT .  (49)
486
487         .  reduce 49
488
489
490 state 19
491         type_specifier : T_VOID .  (54)
492
493         .  reduce 54
494
495
496 state 20
497         type_specifier : T_LONG .  (50)
498
499         .  reduce 50
500
501
502 state 21
503         type_specifier : T_SHORT .  (51)
504
505         .  reduce 51
506
507
508 state 22
509         type_specifier : T_SIGNED .  (52)
510
511         .  reduce 52
512
513
514 state 23
515         type_specifier : T_UNSIGNED .  (53)
516
517         .  reduce 53
518
519
520 state 24
521         enumeration : T_ENUM .  (76)
522
523         .  reduce 76
524
525
526 state 25
527         struct_or_union : T_STRUCT .  (66)
528
529         .  reduce 66
530
531
532 state 26
533         struct_or_union : T_UNION .  (67)
534
535         .  reduce 67
536
537
538 state 27
539         type_specifier : T_Bool .  (55)
540
541         .  reduce 55
542
543
544 state 28
545         type_specifier : T_Complex .  (56)
546
547         .  reduce 56
548
549
550 state 29
551         type_specifier : T_Imaginary .  (57)
552
553         .  reduce 57
554
555
556 state 30
557         type_qualifier : T_TYPE_QUALIFIER .  (61)
558
559         .  reduce 61
560
561
562 state 31
563         external_declaration : T_ASM . T_ASMARG ';'  (9)
564
565         T_ASMARG  shift 64
566         .  error
567
568
569 state 32
570         external_declaration : ';' .  (7)
571
572         .  reduce 7
573
574
575 state 33
576         $accept : program . $end  (0)
577
578         $end  accept
579
580
581 state 34
582         declaration : decl_specifiers . ';'  (15)
583         declaration : decl_specifiers . init_declarator_list ';'  (16)
584         function_definition : decl_specifiers . declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE  (27)
585         decl_specifiers : decl_specifiers . decl_specifier  (36)
586
587         '('  shift 2
588         '*'  shift 3
589         '&'  shift 4
590         T_IDENTIFIER  shift 5
591         T_TYPEDEF_NAME  shift 6
592         T_DEFINE_NAME  shift 7
593         T_AUTO  shift 8
594         T_EXTERN  shift 65
595         T_REGISTER  shift 10
596         T_STATIC  shift 11
597         T_INLINE  shift 13
598         T_EXTENSION  shift 66
599         T_CHAR  shift 15
600         T_DOUBLE  shift 16
601         T_FLOAT  shift 17
602         T_INT  shift 18
603         T_VOID  shift 19
604         T_LONG  shift 20
605         T_SHORT  shift 21
606         T_SIGNED  shift 22
607         T_UNSIGNED  shift 23
608         T_ENUM  shift 24
609         T_STRUCT  shift 25
610         T_UNION  shift 26
611         T_Bool  shift 27
612         T_Complex  shift 28
613         T_Imaginary  shift 29
614         T_TYPE_QUALIFIER  shift 30
615         ';'  shift 67
616         .  error
617
618         decl_specifier  goto 68
619         storage_class  goto 36
620         type_specifier  goto 37
621         type_qualifier  goto 38
622         struct_or_union_specifier  goto 39
623         enum_specifier  goto 40
624         init_declarator_list  goto 69
625         init_declarator  goto 70
626         declarator  goto 71
627         direct_declarator  goto 42
628         struct_or_union  goto 43
629         pointer  goto 44
630         any_id  goto 45
631         identifier_or_ref  goto 46
632         enumeration  goto 47
633
634
635 state 35
636         decl_specifiers : decl_specifier .  (35)
637
638         .  reduce 35
639
640
641 state 36
642         decl_specifier : storage_class .  (37)
643
644         .  reduce 37
645
646
647 state 37
648         decl_specifier : type_specifier .  (38)
649
650         .  reduce 38
651
652
653 state 38
654         decl_specifier : type_qualifier .  (39)
655
656         .  reduce 39
657
658
659 state 39
660         type_specifier : struct_or_union_specifier .  (59)
661
662         .  reduce 59
663
664
665 state 40
666         type_specifier : enum_specifier .  (60)
667
668         .  reduce 60
669
670
671 state 41
672         function_definition : declarator . $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE  (29)
673         $$4 : .  (28)
674
675         .  reduce 28
676
677         $$4  goto 72
678
679
680 state 42
681         declarator : direct_declarator .  (80)
682         direct_declarator : direct_declarator . T_BRACKETS  (83)
683         direct_declarator : direct_declarator . '(' parameter_type_list ')'  (84)
684         direct_declarator : direct_declarator . '(' opt_identifier_list ')'  (85)
685
686         '('  shift 73
687         T_BRACKETS  shift 74
688         T_TYPEDEF_NAME  reduce 80
689         T_DEFINE_NAME  reduce 80
690         T_AUTO  reduce 80
691         T_EXTERN  reduce 80
692         T_REGISTER  reduce 80
693         T_STATIC  reduce 80
694         T_TYPEDEF  reduce 80
695         T_INLINE  reduce 80
696         T_EXTENSION  reduce 80
697         T_CHAR  reduce 80
698         T_DOUBLE  reduce 80
699         T_FLOAT  reduce 80
700         T_INT  reduce 80
701         T_VOID  reduce 80
702         T_LONG  reduce 80
703         T_SHORT  reduce 80
704         T_SIGNED  reduce 80
705         T_UNSIGNED  reduce 80
706         T_ENUM  reduce 80
707         T_STRUCT  reduce 80
708         T_UNION  reduce 80
709         T_Bool  reduce 80
710         T_Complex  reduce 80
711         T_Imaginary  reduce 80
712         T_TYPE_QUALIFIER  reduce 80
713         T_LBRACE  reduce 80
714         T_VA_DCL  reduce 80
715         ';'  reduce 80
716         ','  reduce 80
717         '='  reduce 80
718         ')'  reduce 80
719
720
721 state 43
722         struct_or_union_specifier : struct_or_union . any_id braces  (63)
723         struct_or_union_specifier : struct_or_union . braces  (64)
724         struct_or_union_specifier : struct_or_union . any_id  (65)
725
726         T_IDENTIFIER  shift 5
727         T_TYPEDEF_NAME  shift 56
728         T_LBRACE  shift 75
729         .  error
730
731         any_id  goto 76
732         braces  goto 77
733
734
735 state 44
736         declarator : pointer . direct_declarator  (79)
737
738         '('  shift 2
739         '&'  shift 4
740         T_IDENTIFIER  shift 5
741         T_TYPEDEF_NAME  shift 56
742         .  error
743
744         direct_declarator  goto 78
745         any_id  goto 45
746         identifier_or_ref  goto 46
747
748
749 state 45
750         identifier_or_ref : any_id .  (103)
751
752         .  reduce 103
753
754
755 state 46
756         direct_declarator : identifier_or_ref .  (81)
757
758         .  reduce 81
759
760
761 state 47
762         enum_specifier : enumeration . any_id braces  (73)
763         enum_specifier : enumeration . braces  (74)
764         enum_specifier : enumeration . any_id  (75)
765
766         T_IDENTIFIER  shift 5
767         T_TYPEDEF_NAME  shift 56
768         T_LBRACE  shift 75
769         .  error
770
771         any_id  goto 79
772         braces  goto 80
773
774
775 state 48
776         program : translation_unit .  (2)
777         translation_unit : translation_unit . external_declaration  (4)
778
779         error  shift 1
780         '('  shift 2
781         '*'  shift 3
782         '&'  shift 4
783         T_IDENTIFIER  shift 5
784         T_TYPEDEF_NAME  shift 6
785         T_DEFINE_NAME  shift 7
786         T_AUTO  shift 8
787         T_EXTERN  shift 9
788         T_REGISTER  shift 10
789         T_STATIC  shift 11
790         T_TYPEDEF  shift 12
791         T_INLINE  shift 13
792         T_EXTENSION  shift 14
793         T_CHAR  shift 15
794         T_DOUBLE  shift 16
795         T_FLOAT  shift 17
796         T_INT  shift 18
797         T_VOID  shift 19
798         T_LONG  shift 20
799         T_SHORT  shift 21
800         T_SIGNED  shift 22
801         T_UNSIGNED  shift 23
802         T_ENUM  shift 24
803         T_STRUCT  shift 25
804         T_UNION  shift 26
805         T_Bool  shift 27
806         T_Complex  shift 28
807         T_Imaginary  shift 29
808         T_TYPE_QUALIFIER  shift 30
809         T_ASM  shift 31
810         ';'  shift 32
811         $end  reduce 2
812
813         decl_specifiers  goto 34
814         decl_specifier  goto 35
815         storage_class  goto 36
816         type_specifier  goto 37
817         type_qualifier  goto 38
818         struct_or_union_specifier  goto 39
819         enum_specifier  goto 40
820         declarator  goto 41
821         direct_declarator  goto 42
822         struct_or_union  goto 43
823         pointer  goto 44
824         any_id  goto 45
825         identifier_or_ref  goto 46
826         enumeration  goto 47
827         external_declaration  goto 81
828         declaration  goto 50
829         function_definition  goto 51
830         linkage_specification  goto 52
831         any_typedef  goto 53
832
833
834 state 49
835         translation_unit : external_declaration .  (3)
836
837         .  reduce 3
838
839
840 state 50
841         external_declaration : declaration .  (5)
842
843         .  reduce 5
844
845
846 state 51
847         external_declaration : function_definition .  (6)
848
849         .  reduce 6
850
851
852 state 52
853         external_declaration : linkage_specification .  (8)
854
855         .  reduce 8
856
857
858 state 53
859         declaration : any_typedef . decl_specifiers $$1 opt_declarator_list ';'  (18)
860
861         T_TYPEDEF_NAME  shift 82
862         T_DEFINE_NAME  shift 7
863         T_AUTO  shift 8
864         T_EXTERN  shift 65
865         T_REGISTER  shift 10
866         T_STATIC  shift 11
867         T_INLINE  shift 13
868         T_EXTENSION  shift 66
869         T_CHAR  shift 15
870         T_DOUBLE  shift 16
871         T_FLOAT  shift 17
872         T_INT  shift 18
873         T_VOID  shift 19
874         T_LONG  shift 20
875         T_SHORT  shift 21
876         T_SIGNED  shift 22
877         T_UNSIGNED  shift 23
878         T_ENUM  shift 24
879         T_STRUCT  shift 25
880         T_UNION  shift 26
881         T_Bool  shift 27
882         T_Complex  shift 28
883         T_Imaginary  shift 29
884         T_TYPE_QUALIFIER  shift 30
885         .  error
886
887         decl_specifiers  goto 83
888         decl_specifier  goto 35
889         storage_class  goto 36
890         type_specifier  goto 37
891         type_qualifier  goto 38
892         struct_or_union_specifier  goto 39
893         enum_specifier  goto 40
894         struct_or_union  goto 43
895         enumeration  goto 47
896
897
898 state 54
899         external_declaration : error T_MATCHRBRACE .  (10)
900
901         .  reduce 10
902
903
904 state 55
905         external_declaration : error ';' .  (11)
906
907         .  reduce 11
908
909
910 state 56
911         any_id : T_TYPEDEF_NAME .  (78)
912
913         .  reduce 78
914
915
916 state 57
917         direct_declarator : '(' declarator . ')'  (82)
918
919         ')'  shift 84
920         .  error
921
922
923 state 58
924         type_qualifier_list : type_qualifier .  (90)
925
926         .  reduce 90
927
928
929 state 59
930         pointer : '*' opt_type_qualifiers .  (86)
931         pointer : '*' opt_type_qualifiers . pointer  (87)
932
933         '*'  shift 3
934         '('  reduce 86
935         '&'  reduce 86
936         T_IDENTIFIER  reduce 86
937         T_TYPEDEF_NAME  reduce 86
938         T_BRACKETS  reduce 86
939         ','  reduce 86
940         ')'  reduce 86
941
942         pointer  goto 85
943
944
945 state 60
946         opt_type_qualifiers : type_qualifier_list .  (89)
947         type_qualifier_list : type_qualifier_list . type_qualifier  (91)
948
949         T_DEFINE_NAME  shift 7
950         T_TYPE_QUALIFIER  shift 30
951         '('  reduce 89
952         '*'  reduce 89
953         '&'  reduce 89
954         T_IDENTIFIER  reduce 89
955         T_TYPEDEF_NAME  reduce 89
956         T_BRACKETS  reduce 89
957         ','  reduce 89
958         ')'  reduce 89
959
960         type_qualifier  goto 86
961
962
963 state 61
964         identifier_or_ref : '&' any_id .  (104)
965
966         .  reduce 104
967
968
969 state 62
970         linkage_specification : T_EXTERN T_STRING_LITERAL . braces  (13)
971         linkage_specification : T_EXTERN T_STRING_LITERAL . declaration  (14)
972
973         T_TYPEDEF_NAME  shift 82
974         T_DEFINE_NAME  shift 7
975         T_AUTO  shift 8
976         T_EXTERN  shift 65
977         T_REGISTER  shift 10
978         T_STATIC  shift 11
979         T_TYPEDEF  shift 12
980         T_INLINE  shift 13
981         T_EXTENSION  shift 14
982         T_CHAR  shift 15
983         T_DOUBLE  shift 16
984         T_FLOAT  shift 17
985         T_INT  shift 18
986         T_VOID  shift 19
987         T_LONG  shift 20
988         T_SHORT  shift 21
989         T_SIGNED  shift 22
990         T_UNSIGNED  shift 23
991         T_ENUM  shift 24
992         T_STRUCT  shift 25
993         T_UNION  shift 26
994         T_Bool  shift 27
995         T_Complex  shift 28
996         T_Imaginary  shift 29
997         T_TYPE_QUALIFIER  shift 30
998         T_LBRACE  shift 75
999         .  error
1000
1001         decl_specifiers  goto 87
1002         decl_specifier  goto 35
1003         storage_class  goto 36
1004         type_specifier  goto 37
1005         type_qualifier  goto 38
1006         struct_or_union_specifier  goto 39
1007         enum_specifier  goto 40
1008         struct_or_union  goto 43
1009         enumeration  goto 47
1010         declaration  goto 88
1011         braces  goto 89
1012         any_typedef  goto 53
1013
1014
1015 state 63
1016         any_typedef : T_EXTENSION T_TYPEDEF .  (19)
1017
1018         .  reduce 19
1019
1020
1021 state 64
1022         external_declaration : T_ASM T_ASMARG . ';'  (9)
1023
1024         ';'  shift 90
1025         .  error
1026
1027
1028 state 65
1029         storage_class : T_EXTERN .  (41)
1030
1031         .  reduce 41
1032
1033
1034 state 66
1035         storage_class : T_EXTENSION .  (45)
1036
1037         .  reduce 45
1038
1039
1040 state 67
1041         declaration : decl_specifiers ';' .  (15)
1042
1043         .  reduce 15
1044
1045
1046 state 68
1047         decl_specifiers : decl_specifiers decl_specifier .  (36)
1048
1049         .  reduce 36
1050
1051
1052 state 69
1053         declaration : decl_specifiers init_declarator_list . ';'  (16)
1054         init_declarator_list : init_declarator_list . ',' init_declarator  (69)
1055
1056         ';'  shift 91
1057         ','  shift 92
1058         .  error
1059
1060
1061 state 70
1062         init_declarator_list : init_declarator .  (68)
1063
1064         .  reduce 68
1065
1066
1067 state 71
1068         function_definition : decl_specifiers declarator . $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE  (27)
1069         init_declarator : declarator .  (70)
1070         init_declarator : declarator . '=' $$5 T_INITIALIZER  (72)
1071         $$2 : .  (25)
1072
1073         '='  shift 93
1074         T_TYPEDEF_NAME  reduce 25
1075         T_DEFINE_NAME  reduce 25
1076         T_AUTO  reduce 25
1077         T_EXTERN  reduce 25
1078         T_REGISTER  reduce 25
1079         T_STATIC  reduce 25
1080         T_TYPEDEF  reduce 25
1081         T_INLINE  reduce 25
1082         T_EXTENSION  reduce 25
1083         T_CHAR  reduce 25
1084         T_DOUBLE  reduce 25
1085         T_FLOAT  reduce 25
1086         T_INT  reduce 25
1087         T_VOID  reduce 25
1088         T_LONG  reduce 25
1089         T_SHORT  reduce 25
1090         T_SIGNED  reduce 25
1091         T_UNSIGNED  reduce 25
1092         T_ENUM  reduce 25
1093         T_STRUCT  reduce 25
1094         T_UNION  reduce 25
1095         T_Bool  reduce 25
1096         T_Complex  reduce 25
1097         T_Imaginary  reduce 25
1098         T_TYPE_QUALIFIER  reduce 25
1099         T_LBRACE  reduce 25
1100         T_VA_DCL  reduce 25
1101         ';'  reduce 70
1102         ','  reduce 70
1103
1104         $$2  goto 94
1105
1106
1107 state 72
1108         function_definition : declarator $$4 . opt_declaration_list T_LBRACE T_MATCHRBRACE  (29)
1109         opt_declaration_list : .  (30)
1110
1111         T_TYPEDEF_NAME  shift 82
1112         T_DEFINE_NAME  shift 7
1113         T_AUTO  shift 8
1114         T_EXTERN  shift 65
1115         T_REGISTER  shift 10
1116         T_STATIC  shift 11
1117         T_TYPEDEF  shift 12
1118         T_INLINE  shift 13
1119         T_EXTENSION  shift 14
1120         T_CHAR  shift 15
1121         T_DOUBLE  shift 16
1122         T_FLOAT  shift 17
1123         T_INT  shift 18
1124         T_VOID  shift 19
1125         T_LONG  shift 20
1126         T_SHORT  shift 21
1127         T_SIGNED  shift 22
1128         T_UNSIGNED  shift 23
1129         T_ENUM  shift 24
1130         T_STRUCT  shift 25
1131         T_UNION  shift 26
1132         T_Bool  shift 27
1133         T_Complex  shift 28
1134         T_Imaginary  shift 29
1135         T_TYPE_QUALIFIER  shift 30
1136         T_VA_DCL  shift 95
1137         T_LBRACE  reduce 30
1138
1139         decl_specifiers  goto 87
1140         decl_specifier  goto 35
1141         storage_class  goto 36
1142         type_specifier  goto 37
1143         type_qualifier  goto 38
1144         struct_or_union_specifier  goto 39
1145         enum_specifier  goto 40
1146         struct_or_union  goto 43
1147         enumeration  goto 47
1148         declaration  goto 96
1149         any_typedef  goto 53
1150         opt_declaration_list  goto 97
1151         declaration_list  goto 98
1152
1153
1154 state 73
1155         direct_declarator : direct_declarator '(' . parameter_type_list ')'  (84)
1156         direct_declarator : direct_declarator '(' . opt_identifier_list ')'  (85)
1157         opt_identifier_list : .  (99)
1158
1159         T_IDENTIFIER  shift 5
1160         T_TYPEDEF_NAME  shift 6
1161         T_DEFINE_NAME  shift 7
1162         T_AUTO  shift 8
1163         T_EXTERN  shift 65
1164         T_REGISTER  shift 10
1165         T_STATIC  shift 11
1166         T_INLINE  shift 13
1167         T_EXTENSION  shift 66
1168         T_CHAR  shift 15
1169         T_DOUBLE  shift 16
1170         T_FLOAT  shift 17
1171         T_INT  shift 18
1172         T_VOID  shift 19
1173         T_LONG  shift 20
1174         T_SHORT  shift 21
1175         T_SIGNED  shift 22
1176         T_UNSIGNED  shift 23
1177         T_ENUM  shift 24
1178         T_STRUCT  shift 25
1179         T_UNION  shift 26
1180         T_Bool  shift 27
1181         T_Complex  shift 28
1182         T_Imaginary  shift 29
1183         T_TYPE_QUALIFIER  shift 30
1184         ')'  reduce 99
1185
1186         decl_specifiers  goto 99
1187         decl_specifier  goto 35
1188         storage_class  goto 36
1189         type_specifier  goto 37
1190         type_qualifier  goto 38
1191         struct_or_union_specifier  goto 39
1192         enum_specifier  goto 40
1193         parameter_type_list  goto 100
1194         parameter_list  goto 101
1195         parameter_declaration  goto 102
1196         opt_identifier_list  goto 103
1197         identifier_list  goto 104
1198         struct_or_union  goto 43
1199         any_id  goto 105
1200         enumeration  goto 47
1201
1202
1203 state 74
1204         direct_declarator : direct_declarator T_BRACKETS .  (83)
1205
1206         .  reduce 83
1207
1208
1209 state 75
1210         braces : T_LBRACE . T_MATCHRBRACE  (12)
1211
1212         T_MATCHRBRACE  shift 106
1213         .  error
1214
1215
1216 state 76
1217         struct_or_union_specifier : struct_or_union any_id . braces  (63)
1218         struct_or_union_specifier : struct_or_union any_id .  (65)
1219
1220         T_LBRACE  shift 75
1221         '('  reduce 65
1222         '*'  reduce 65
1223         '&'  reduce 65
1224         T_IDENTIFIER  reduce 65
1225         T_TYPEDEF_NAME  reduce 65
1226         T_DEFINE_NAME  reduce 65
1227         T_AUTO  reduce 65
1228         T_EXTERN  reduce 65
1229         T_REGISTER  reduce 65
1230         T_STATIC  reduce 65
1231         T_INLINE  reduce 65
1232         T_EXTENSION  reduce 65
1233         T_CHAR  reduce 65
1234         T_DOUBLE  reduce 65
1235         T_FLOAT  reduce 65
1236         T_INT  reduce 65
1237         T_VOID  reduce 65
1238         T_LONG  reduce 65
1239         T_SHORT  reduce 65
1240         T_SIGNED  reduce 65
1241         T_UNSIGNED  reduce 65
1242         T_ENUM  reduce 65
1243         T_STRUCT  reduce 65
1244         T_UNION  reduce 65
1245         T_Bool  reduce 65
1246         T_Complex  reduce 65
1247         T_Imaginary  reduce 65
1248         T_TYPE_QUALIFIER  reduce 65
1249         T_BRACKETS  reduce 65
1250         ';'  reduce 65
1251         ','  reduce 65
1252         ')'  reduce 65
1253
1254         braces  goto 107
1255
1256
1257 state 77
1258         struct_or_union_specifier : struct_or_union braces .  (64)
1259
1260         .  reduce 64
1261
1262
1263 state 78
1264         declarator : pointer direct_declarator .  (79)
1265         direct_declarator : direct_declarator . T_BRACKETS  (83)
1266         direct_declarator : direct_declarator . '(' parameter_type_list ')'  (84)
1267         direct_declarator : direct_declarator . '(' opt_identifier_list ')'  (85)
1268
1269         '('  shift 73
1270         T_BRACKETS  shift 74
1271         T_TYPEDEF_NAME  reduce 79
1272         T_DEFINE_NAME  reduce 79
1273         T_AUTO  reduce 79
1274         T_EXTERN  reduce 79
1275         T_REGISTER  reduce 79
1276         T_STATIC  reduce 79
1277         T_TYPEDEF  reduce 79
1278         T_INLINE  reduce 79
1279         T_EXTENSION  reduce 79
1280         T_CHAR  reduce 79
1281         T_DOUBLE  reduce 79
1282         T_FLOAT  reduce 79
1283         T_INT  reduce 79
1284         T_VOID  reduce 79
1285         T_LONG  reduce 79
1286         T_SHORT  reduce 79
1287         T_SIGNED  reduce 79
1288         T_UNSIGNED  reduce 79
1289         T_ENUM  reduce 79
1290         T_STRUCT  reduce 79
1291         T_UNION  reduce 79
1292         T_Bool  reduce 79
1293         T_Complex  reduce 79
1294         T_Imaginary  reduce 79
1295         T_TYPE_QUALIFIER  reduce 79
1296         T_LBRACE  reduce 79
1297         T_VA_DCL  reduce 79
1298         ';'  reduce 79
1299         ','  reduce 79
1300         '='  reduce 79
1301         ')'  reduce 79
1302
1303
1304 state 79
1305         enum_specifier : enumeration any_id . braces  (73)
1306         enum_specifier : enumeration any_id .  (75)
1307
1308         T_LBRACE  shift 75
1309         '('  reduce 75
1310         '*'  reduce 75
1311         '&'  reduce 75
1312         T_IDENTIFIER  reduce 75
1313         T_TYPEDEF_NAME  reduce 75
1314         T_DEFINE_NAME  reduce 75
1315         T_AUTO  reduce 75
1316         T_EXTERN  reduce 75
1317         T_REGISTER  reduce 75
1318         T_STATIC  reduce 75
1319         T_INLINE  reduce 75
1320         T_EXTENSION  reduce 75
1321         T_CHAR  reduce 75
1322         T_DOUBLE  reduce 75
1323         T_FLOAT  reduce 75
1324         T_INT  reduce 75
1325         T_VOID  reduce 75
1326         T_LONG  reduce 75
1327         T_SHORT  reduce 75
1328         T_SIGNED  reduce 75
1329         T_UNSIGNED  reduce 75
1330         T_ENUM  reduce 75
1331         T_STRUCT  reduce 75
1332         T_UNION  reduce 75
1333         T_Bool  reduce 75
1334         T_Complex  reduce 75
1335         T_Imaginary  reduce 75
1336         T_TYPE_QUALIFIER  reduce 75
1337         T_BRACKETS  reduce 75
1338         ';'  reduce 75
1339         ','  reduce 75
1340         ')'  reduce 75
1341
1342         braces  goto 108
1343
1344
1345 state 80
1346         enum_specifier : enumeration braces .  (74)
1347
1348         .  reduce 74
1349
1350
1351 state 81
1352         translation_unit : translation_unit external_declaration .  (4)
1353
1354         .  reduce 4
1355
1356
1357 state 82
1358         type_specifier : T_TYPEDEF_NAME .  (58)
1359
1360         .  reduce 58
1361
1362
1363 83: shift/reduce conflict (shift 82, reduce 17) on T_TYPEDEF_NAME
1364 state 83
1365         declaration : any_typedef decl_specifiers . $$1 opt_declarator_list ';'  (18)
1366         decl_specifiers : decl_specifiers . decl_specifier  (36)
1367         $$1 : .  (17)
1368
1369         T_TYPEDEF_NAME  shift 82
1370         T_DEFINE_NAME  shift 7
1371         T_AUTO  shift 8
1372         T_EXTERN  shift 65
1373         T_REGISTER  shift 10
1374         T_STATIC  shift 11
1375         T_INLINE  shift 13
1376         T_EXTENSION  shift 66
1377         T_CHAR  shift 15
1378         T_DOUBLE  shift 16
1379         T_FLOAT  shift 17
1380         T_INT  shift 18
1381         T_VOID  shift 19
1382         T_LONG  shift 20
1383         T_SHORT  shift 21
1384         T_SIGNED  shift 22
1385         T_UNSIGNED  shift 23
1386         T_ENUM  shift 24
1387         T_STRUCT  shift 25
1388         T_UNION  shift 26
1389         T_Bool  shift 27
1390         T_Complex  shift 28
1391         T_Imaginary  shift 29
1392         T_TYPE_QUALIFIER  shift 30
1393         '('  reduce 17
1394         '*'  reduce 17
1395         '&'  reduce 17
1396         T_IDENTIFIER  reduce 17
1397         ';'  reduce 17
1398
1399         decl_specifier  goto 68
1400         storage_class  goto 36
1401         type_specifier  goto 37
1402         type_qualifier  goto 38
1403         struct_or_union_specifier  goto 39
1404         enum_specifier  goto 40
1405         struct_or_union  goto 43
1406         enumeration  goto 47
1407         $$1  goto 109
1408
1409
1410 state 84
1411         direct_declarator : '(' declarator ')' .  (82)
1412
1413         .  reduce 82
1414
1415
1416 state 85
1417         pointer : '*' opt_type_qualifiers pointer .  (87)
1418
1419         .  reduce 87
1420
1421
1422 state 86
1423         type_qualifier_list : type_qualifier_list type_qualifier .  (91)
1424
1425         .  reduce 91
1426
1427
1428 state 87
1429         declaration : decl_specifiers . ';'  (15)
1430         declaration : decl_specifiers . init_declarator_list ';'  (16)
1431         decl_specifiers : decl_specifiers . decl_specifier  (36)
1432
1433         '('  shift 2
1434         '*'  shift 3
1435         '&'  shift 4
1436         T_IDENTIFIER  shift 5
1437         T_TYPEDEF_NAME  shift 6
1438         T_DEFINE_NAME  shift 7
1439         T_AUTO  shift 8
1440         T_EXTERN  shift 65
1441         T_REGISTER  shift 10
1442         T_STATIC  shift 11
1443         T_INLINE  shift 13
1444         T_EXTENSION  shift 66
1445         T_CHAR  shift 15
1446         T_DOUBLE  shift 16
1447         T_FLOAT  shift 17
1448         T_INT  shift 18
1449         T_VOID  shift 19
1450         T_LONG  shift 20
1451         T_SHORT  shift 21
1452         T_SIGNED  shift 22
1453         T_UNSIGNED  shift 23
1454         T_ENUM  shift 24
1455         T_STRUCT  shift 25
1456         T_UNION  shift 26
1457         T_Bool  shift 27
1458         T_Complex  shift 28
1459         T_Imaginary  shift 29
1460         T_TYPE_QUALIFIER  shift 30
1461         ';'  shift 67
1462         .  error
1463
1464         decl_specifier  goto 68
1465         storage_class  goto 36
1466         type_specifier  goto 37
1467         type_qualifier  goto 38
1468         struct_or_union_specifier  goto 39
1469         enum_specifier  goto 40
1470         init_declarator_list  goto 69
1471         init_declarator  goto 70
1472         declarator  goto 110
1473         direct_declarator  goto 42
1474         struct_or_union  goto 43
1475         pointer  goto 44
1476         any_id  goto 45
1477         identifier_or_ref  goto 46
1478         enumeration  goto 47
1479
1480
1481 state 88
1482         linkage_specification : T_EXTERN T_STRING_LITERAL declaration .  (14)
1483
1484         .  reduce 14
1485
1486
1487 state 89
1488         linkage_specification : T_EXTERN T_STRING_LITERAL braces .  (13)
1489
1490         .  reduce 13
1491
1492
1493 state 90
1494         external_declaration : T_ASM T_ASMARG ';' .  (9)
1495
1496         .  reduce 9
1497
1498
1499 state 91
1500         declaration : decl_specifiers init_declarator_list ';' .  (16)
1501
1502         .  reduce 16
1503
1504
1505 state 92
1506         init_declarator_list : init_declarator_list ',' . init_declarator  (69)
1507
1508         '('  shift 2
1509         '*'  shift 3
1510         '&'  shift 4
1511         T_IDENTIFIER  shift 5
1512         T_TYPEDEF_NAME  shift 56
1513         .  error
1514
1515         init_declarator  goto 111
1516         declarator  goto 110
1517         direct_declarator  goto 42
1518         pointer  goto 44
1519         any_id  goto 45
1520         identifier_or_ref  goto 46
1521
1522
1523 state 93
1524         init_declarator : declarator '=' . $$5 T_INITIALIZER  (72)
1525         $$5 : .  (71)
1526
1527         .  reduce 71
1528
1529         $$5  goto 112
1530
1531
1532 state 94
1533         function_definition : decl_specifiers declarator $$2 . opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE  (27)
1534         opt_declaration_list : .  (30)
1535
1536         T_TYPEDEF_NAME  shift 82
1537         T_DEFINE_NAME  shift 7
1538         T_AUTO  shift 8
1539         T_EXTERN  shift 65
1540         T_REGISTER  shift 10
1541         T_STATIC  shift 11
1542         T_TYPEDEF  shift 12
1543         T_INLINE  shift 13
1544         T_EXTENSION  shift 14
1545         T_CHAR  shift 15
1546         T_DOUBLE  shift 16
1547         T_FLOAT  shift 17
1548         T_INT  shift 18
1549         T_VOID  shift 19
1550         T_LONG  shift 20
1551         T_SHORT  shift 21
1552         T_SIGNED  shift 22
1553         T_UNSIGNED  shift 23
1554         T_ENUM  shift 24
1555         T_STRUCT  shift 25
1556         T_UNION  shift 26
1557         T_Bool  shift 27
1558         T_Complex  shift 28
1559         T_Imaginary  shift 29
1560         T_TYPE_QUALIFIER  shift 30
1561         T_VA_DCL  shift 95
1562         T_LBRACE  reduce 30
1563
1564         decl_specifiers  goto 87
1565         decl_specifier  goto 35
1566         storage_class  goto 36
1567         type_specifier  goto 37
1568         type_qualifier  goto 38
1569         struct_or_union_specifier  goto 39
1570         enum_specifier  goto 40
1571         struct_or_union  goto 43
1572         enumeration  goto 47
1573         declaration  goto 96
1574         any_typedef  goto 53
1575         opt_declaration_list  goto 113
1576         declaration_list  goto 98
1577
1578
1579 state 95
1580         opt_declaration_list : T_VA_DCL .  (31)
1581
1582         .  reduce 31
1583
1584
1585 state 96
1586         declaration_list : declaration .  (33)
1587
1588         .  reduce 33
1589
1590
1591 state 97
1592         function_definition : declarator $$4 opt_declaration_list . T_LBRACE T_MATCHRBRACE  (29)
1593
1594         T_LBRACE  shift 114
1595         .  error
1596
1597
1598 state 98
1599         opt_declaration_list : declaration_list .  (32)
1600         declaration_list : declaration_list . declaration  (34)
1601
1602         T_TYPEDEF_NAME  shift 82
1603         T_DEFINE_NAME  shift 7
1604         T_AUTO  shift 8
1605         T_EXTERN  shift 65
1606         T_REGISTER  shift 10
1607         T_STATIC  shift 11
1608         T_TYPEDEF  shift 12
1609         T_INLINE  shift 13
1610         T_EXTENSION  shift 14
1611         T_CHAR  shift 15
1612         T_DOUBLE  shift 16
1613         T_FLOAT  shift 17
1614         T_INT  shift 18
1615         T_VOID  shift 19
1616         T_LONG  shift 20
1617         T_SHORT  shift 21
1618         T_SIGNED  shift 22
1619         T_UNSIGNED  shift 23
1620         T_ENUM  shift 24
1621         T_STRUCT  shift 25
1622         T_UNION  shift 26
1623         T_Bool  shift 27
1624         T_Complex  shift 28
1625         T_Imaginary  shift 29
1626         T_TYPE_QUALIFIER  shift 30
1627         T_LBRACE  reduce 32
1628
1629         decl_specifiers  goto 87
1630         decl_specifier  goto 35
1631         storage_class  goto 36
1632         type_specifier  goto 37
1633         type_qualifier  goto 38
1634         struct_or_union_specifier  goto 39
1635         enum_specifier  goto 40
1636         struct_or_union  goto 43
1637         enumeration  goto 47
1638         declaration  goto 115
1639         any_typedef  goto 53
1640
1641
1642 state 99
1643         decl_specifiers : decl_specifiers . decl_specifier  (36)
1644         parameter_declaration : decl_specifiers . declarator  (96)
1645         parameter_declaration : decl_specifiers . abs_declarator  (97)
1646         parameter_declaration : decl_specifiers .  (98)
1647
1648         '('  shift 116
1649         '*'  shift 3
1650         '&'  shift 4
1651         T_IDENTIFIER  shift 5
1652         T_TYPEDEF_NAME  shift 6
1653         T_DEFINE_NAME  shift 7
1654         T_AUTO  shift 8
1655         T_EXTERN  shift 65
1656         T_REGISTER  shift 10
1657         T_STATIC  shift 11
1658         T_INLINE  shift 13
1659         T_EXTENSION  shift 66
1660         T_CHAR  shift 15
1661         T_DOUBLE  shift 16
1662         T_FLOAT  shift 17
1663         T_INT  shift 18
1664         T_VOID  shift 19
1665         T_LONG  shift 20
1666         T_SHORT  shift 21
1667         T_SIGNED  shift 22
1668         T_UNSIGNED  shift 23
1669         T_ENUM  shift 24
1670         T_STRUCT  shift 25
1671         T_UNION  shift 26
1672         T_Bool  shift 27
1673         T_Complex  shift 28
1674         T_Imaginary  shift 29
1675         T_TYPE_QUALIFIER  shift 30
1676         T_BRACKETS  shift 117
1677         ','  reduce 98
1678         ')'  reduce 98
1679
1680         decl_specifier  goto 68
1681         storage_class  goto 36
1682         type_specifier  goto 37
1683         type_qualifier  goto 38
1684         struct_or_union_specifier  goto 39
1685         enum_specifier  goto 40
1686         declarator  goto 118
1687         direct_declarator  goto 42
1688         abs_declarator  goto 119
1689         direct_abs_declarator  goto 120
1690         struct_or_union  goto 43
1691         pointer  goto 121
1692         any_id  goto 45
1693         identifier_or_ref  goto 46
1694         enumeration  goto 47
1695
1696
1697 state 100
1698         direct_declarator : direct_declarator '(' parameter_type_list . ')'  (84)
1699
1700         ')'  shift 122
1701         .  error
1702
1703
1704 state 101
1705         parameter_type_list : parameter_list .  (92)
1706         parameter_type_list : parameter_list . ',' T_ELLIPSIS  (93)
1707         parameter_list : parameter_list . ',' parameter_declaration  (95)
1708
1709         ','  shift 123
1710         ')'  reduce 92
1711
1712
1713 state 102
1714         parameter_list : parameter_declaration .  (94)
1715
1716         .  reduce 94
1717
1718
1719 state 103
1720         direct_declarator : direct_declarator '(' opt_identifier_list . ')'  (85)
1721
1722         ')'  shift 124
1723         .  error
1724
1725
1726 state 104
1727         opt_identifier_list : identifier_list .  (100)
1728         identifier_list : identifier_list . ',' any_id  (102)
1729
1730         ','  shift 125
1731         ')'  reduce 100
1732
1733
1734 state 105
1735         identifier_list : any_id .  (101)
1736
1737         .  reduce 101
1738
1739
1740 state 106
1741         braces : T_LBRACE T_MATCHRBRACE .  (12)
1742
1743         .  reduce 12
1744
1745
1746 state 107
1747         struct_or_union_specifier : struct_or_union any_id braces .  (63)
1748
1749         .  reduce 63
1750
1751
1752 state 108
1753         enum_specifier : enumeration any_id braces .  (73)
1754
1755         .  reduce 73
1756
1757
1758 state 109
1759         declaration : any_typedef decl_specifiers $$1 . opt_declarator_list ';'  (18)
1760         opt_declarator_list : .  (21)
1761
1762         '('  shift 2
1763         '*'  shift 3
1764         '&'  shift 4
1765         T_IDENTIFIER  shift 5
1766         T_TYPEDEF_NAME  shift 56
1767         ';'  reduce 21
1768
1769         declarator  goto 126
1770         direct_declarator  goto 42
1771         pointer  goto 44
1772         any_id  goto 45
1773         identifier_or_ref  goto 46
1774         opt_declarator_list  goto 127
1775         declarator_list  goto 128
1776
1777
1778 state 110
1779         init_declarator : declarator .  (70)
1780         init_declarator : declarator . '=' $$5 T_INITIALIZER  (72)
1781
1782         '='  shift 93
1783         ';'  reduce 70
1784         ','  reduce 70
1785
1786
1787 state 111
1788         init_declarator_list : init_declarator_list ',' init_declarator .  (69)
1789
1790         .  reduce 69
1791
1792
1793 state 112
1794         init_declarator : declarator '=' $$5 . T_INITIALIZER  (72)
1795
1796         T_INITIALIZER  shift 129
1797         .  error
1798
1799
1800 state 113
1801         function_definition : decl_specifiers declarator $$2 opt_declaration_list . T_LBRACE $$3 T_MATCHRBRACE  (27)
1802
1803         T_LBRACE  shift 130
1804         .  error
1805
1806
1807 state 114
1808         function_definition : declarator $$4 opt_declaration_list T_LBRACE . T_MATCHRBRACE  (29)
1809
1810         T_MATCHRBRACE  shift 131
1811         .  error
1812
1813
1814 state 115
1815         declaration_list : declaration_list declaration .  (34)
1816
1817         .  reduce 34
1818
1819
1820 state 116
1821         direct_declarator : '(' . declarator ')'  (82)
1822         direct_abs_declarator : '(' . abs_declarator ')'  (108)
1823         direct_abs_declarator : '(' . parameter_type_list ')'  (113)
1824         direct_abs_declarator : '(' . ')'  (114)
1825
1826         '('  shift 116
1827         '*'  shift 3
1828         '&'  shift 4
1829         T_IDENTIFIER  shift 5
1830         T_TYPEDEF_NAME  shift 6
1831         T_DEFINE_NAME  shift 7
1832         T_AUTO  shift 8
1833         T_EXTERN  shift 65
1834         T_REGISTER  shift 10
1835         T_STATIC  shift 11
1836         T_INLINE  shift 13
1837         T_EXTENSION  shift 66
1838         T_CHAR  shift 15
1839         T_DOUBLE  shift 16
1840         T_FLOAT  shift 17
1841         T_INT  shift 18
1842         T_VOID  shift 19
1843         T_LONG  shift 20
1844         T_SHORT  shift 21
1845         T_SIGNED  shift 22
1846         T_UNSIGNED  shift 23
1847         T_ENUM  shift 24
1848         T_STRUCT  shift 25
1849         T_UNION  shift 26
1850         T_Bool  shift 27
1851         T_Complex  shift 28
1852         T_Imaginary  shift 29
1853         T_TYPE_QUALIFIER  shift 30
1854         T_BRACKETS  shift 117
1855         ')'  shift 132
1856         .  error
1857
1858         decl_specifiers  goto 99
1859         decl_specifier  goto 35
1860         storage_class  goto 36
1861         type_specifier  goto 37
1862         type_qualifier  goto 38
1863         struct_or_union_specifier  goto 39
1864         enum_specifier  goto 40
1865         declarator  goto 57
1866         direct_declarator  goto 42
1867         abs_declarator  goto 133
1868         direct_abs_declarator  goto 120
1869         parameter_type_list  goto 134
1870         parameter_list  goto 101
1871         parameter_declaration  goto 102
1872         struct_or_union  goto 43
1873         pointer  goto 121
1874         any_id  goto 45
1875         identifier_or_ref  goto 46
1876         enumeration  goto 47
1877
1878
1879 state 117
1880         direct_abs_declarator : T_BRACKETS .  (110)
1881
1882         .  reduce 110
1883
1884
1885 state 118
1886         parameter_declaration : decl_specifiers declarator .  (96)
1887
1888         .  reduce 96
1889
1890
1891 state 119
1892         parameter_declaration : decl_specifiers abs_declarator .  (97)
1893
1894         .  reduce 97
1895
1896
1897 state 120
1898         abs_declarator : direct_abs_declarator .  (107)
1899         direct_abs_declarator : direct_abs_declarator . T_BRACKETS  (109)
1900         direct_abs_declarator : direct_abs_declarator . '(' parameter_type_list ')'  (111)
1901         direct_abs_declarator : direct_abs_declarator . '(' ')'  (112)
1902
1903         '('  shift 135
1904         T_BRACKETS  shift 136
1905         ','  reduce 107
1906         ')'  reduce 107
1907
1908
1909 state 121
1910         declarator : pointer . direct_declarator  (79)
1911         abs_declarator : pointer .  (105)
1912         abs_declarator : pointer . direct_abs_declarator  (106)
1913
1914         '('  shift 116
1915         '&'  shift 4
1916         T_IDENTIFIER  shift 5
1917         T_TYPEDEF_NAME  shift 56
1918         T_BRACKETS  shift 117
1919         ','  reduce 105
1920         ')'  reduce 105
1921
1922         direct_declarator  goto 78
1923         direct_abs_declarator  goto 137
1924         any_id  goto 45
1925         identifier_or_ref  goto 46
1926
1927
1928 state 122
1929         direct_declarator : direct_declarator '(' parameter_type_list ')' .  (84)
1930
1931         .  reduce 84
1932
1933
1934 state 123
1935         parameter_type_list : parameter_list ',' . T_ELLIPSIS  (93)
1936         parameter_list : parameter_list ',' . parameter_declaration  (95)
1937
1938         T_TYPEDEF_NAME  shift 82
1939         T_DEFINE_NAME  shift 7
1940         T_AUTO  shift 8
1941         T_EXTERN  shift 65
1942         T_REGISTER  shift 10
1943         T_STATIC  shift 11
1944         T_INLINE  shift 13
1945         T_EXTENSION  shift 66
1946         T_CHAR  shift 15
1947         T_DOUBLE  shift 16
1948         T_FLOAT  shift 17
1949         T_INT  shift 18
1950         T_VOID  shift 19
1951         T_LONG  shift 20
1952         T_SHORT  shift 21
1953         T_SIGNED  shift 22
1954         T_UNSIGNED  shift 23
1955         T_ENUM  shift 24
1956         T_STRUCT  shift 25
1957         T_UNION  shift 26
1958         T_Bool  shift 27
1959         T_Complex  shift 28
1960         T_Imaginary  shift 29
1961         T_TYPE_QUALIFIER  shift 30
1962         T_ELLIPSIS  shift 138
1963         .  error
1964
1965         decl_specifiers  goto 99
1966         decl_specifier  goto 35
1967         storage_class  goto 36
1968         type_specifier  goto 37
1969         type_qualifier  goto 38
1970         struct_or_union_specifier  goto 39
1971         enum_specifier  goto 40
1972         parameter_declaration  goto 139
1973         struct_or_union  goto 43
1974         enumeration  goto 47
1975
1976
1977 state 124
1978         direct_declarator : direct_declarator '(' opt_identifier_list ')' .  (85)
1979
1980         .  reduce 85
1981
1982
1983 state 125
1984         identifier_list : identifier_list ',' . any_id  (102)
1985
1986         T_IDENTIFIER  shift 5
1987         T_TYPEDEF_NAME  shift 56
1988         .  error
1989
1990         any_id  goto 140
1991
1992
1993 state 126
1994         declarator_list : declarator .  (23)
1995
1996         .  reduce 23
1997
1998
1999 state 127
2000         declaration : any_typedef decl_specifiers $$1 opt_declarator_list . ';'  (18)
2001
2002         ';'  shift 141
2003         .  error
2004
2005
2006 state 128
2007         opt_declarator_list : declarator_list .  (22)
2008         declarator_list : declarator_list . ',' declarator  (24)
2009
2010         ','  shift 142
2011         ';'  reduce 22
2012
2013
2014 state 129
2015         init_declarator : declarator '=' $$5 T_INITIALIZER .  (72)
2016
2017         .  reduce 72
2018
2019
2020 state 130
2021         function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE . $$3 T_MATCHRBRACE  (27)
2022         $$3 : .  (26)
2023
2024         .  reduce 26
2025
2026         $$3  goto 143
2027
2028
2029 state 131
2030         function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE .  (29)
2031
2032         .  reduce 29
2033
2034
2035 state 132
2036         direct_abs_declarator : '(' ')' .  (114)
2037
2038         .  reduce 114
2039
2040
2041 state 133
2042         direct_abs_declarator : '(' abs_declarator . ')'  (108)
2043
2044         ')'  shift 144
2045         .  error
2046
2047
2048 state 134
2049         direct_abs_declarator : '(' parameter_type_list . ')'  (113)
2050
2051         ')'  shift 145
2052         .  error
2053
2054
2055 state 135
2056         direct_abs_declarator : direct_abs_declarator '(' . parameter_type_list ')'  (111)
2057         direct_abs_declarator : direct_abs_declarator '(' . ')'  (112)
2058
2059         T_TYPEDEF_NAME  shift 82
2060         T_DEFINE_NAME  shift 7
2061         T_AUTO  shift 8
2062         T_EXTERN  shift 65
2063         T_REGISTER  shift 10
2064         T_STATIC  shift 11
2065         T_INLINE  shift 13
2066         T_EXTENSION  shift 66
2067         T_CHAR  shift 15
2068         T_DOUBLE  shift 16
2069         T_FLOAT  shift 17
2070         T_INT  shift 18
2071         T_VOID  shift 19
2072         T_LONG  shift 20
2073         T_SHORT  shift 21
2074         T_SIGNED  shift 22
2075         T_UNSIGNED  shift 23
2076         T_ENUM  shift 24
2077         T_STRUCT  shift 25
2078         T_UNION  shift 26
2079         T_Bool  shift 27
2080         T_Complex  shift 28
2081         T_Imaginary  shift 29
2082         T_TYPE_QUALIFIER  shift 30
2083         ')'  shift 146
2084         .  error
2085
2086         decl_specifiers  goto 99
2087         decl_specifier  goto 35
2088         storage_class  goto 36
2089         type_specifier  goto 37
2090         type_qualifier  goto 38
2091         struct_or_union_specifier  goto 39
2092         enum_specifier  goto 40
2093         parameter_type_list  goto 147
2094         parameter_list  goto 101
2095         parameter_declaration  goto 102
2096         struct_or_union  goto 43
2097         enumeration  goto 47
2098
2099
2100 state 136
2101         direct_abs_declarator : direct_abs_declarator T_BRACKETS .  (109)
2102
2103         .  reduce 109
2104
2105
2106 state 137
2107         abs_declarator : pointer direct_abs_declarator .  (106)
2108         direct_abs_declarator : direct_abs_declarator . T_BRACKETS  (109)
2109         direct_abs_declarator : direct_abs_declarator . '(' parameter_type_list ')'  (111)
2110         direct_abs_declarator : direct_abs_declarator . '(' ')'  (112)
2111
2112         '('  shift 135
2113         T_BRACKETS  shift 136
2114         ','  reduce 106
2115         ')'  reduce 106
2116
2117
2118 state 138
2119         parameter_type_list : parameter_list ',' T_ELLIPSIS .  (93)
2120
2121         .  reduce 93
2122
2123
2124 state 139
2125         parameter_list : parameter_list ',' parameter_declaration .  (95)
2126
2127         .  reduce 95
2128
2129
2130 state 140
2131         identifier_list : identifier_list ',' any_id .  (102)
2132
2133         .  reduce 102
2134
2135
2136 state 141
2137         declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';' .  (18)
2138
2139         .  reduce 18
2140
2141
2142 state 142
2143         declarator_list : declarator_list ',' . declarator  (24)
2144
2145         '('  shift 2
2146         '*'  shift 3
2147         '&'  shift 4
2148         T_IDENTIFIER  shift 5
2149         T_TYPEDEF_NAME  shift 56
2150         .  error
2151
2152         declarator  goto 148
2153         direct_declarator  goto 42
2154         pointer  goto 44
2155         any_id  goto 45
2156         identifier_or_ref  goto 46
2157
2158
2159 state 143
2160         function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 . T_MATCHRBRACE  (27)
2161
2162         T_MATCHRBRACE  shift 149
2163         .  error
2164
2165
2166 state 144
2167         direct_abs_declarator : '(' abs_declarator ')' .  (108)
2168
2169         .  reduce 108
2170
2171
2172 state 145
2173         direct_abs_declarator : '(' parameter_type_list ')' .  (113)
2174
2175         .  reduce 113
2176
2177
2178 state 146
2179         direct_abs_declarator : direct_abs_declarator '(' ')' .  (112)
2180
2181         .  reduce 112
2182
2183
2184 state 147
2185         direct_abs_declarator : direct_abs_declarator '(' parameter_type_list . ')'  (111)
2186
2187         ')'  shift 150
2188         .  error
2189
2190
2191 state 148
2192         declarator_list : declarator_list ',' declarator .  (24)
2193
2194         .  reduce 24
2195
2196
2197 state 149
2198         function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE .  (27)
2199
2200         .  reduce 27
2201
2202
2203 state 150
2204         direct_abs_declarator : direct_abs_declarator '(' parameter_type_list ')' .  (111)
2205
2206         .  reduce 111
2207
2208
2209 State 6 contains 29 reduce/reduce conflicts.
2210 State 83 contains 1 shift/reduce conflict.
2211
2212
2213 44 terminals, 43 nonterminals
2214 115 grammar rules, 151 states
2215
2216 grammar parser grammar
2217 symbol# value# symbol
2218      0      0  $end
2219      1    256  error
2220      2     40  '('
2221      3     42  '*'
2222      4     38  '&'
2223      5    257  T_IDENTIFIER
2224      6    258  T_TYPEDEF_NAME
2225      7    259  T_DEFINE_NAME
2226      8    260  T_AUTO
2227      9    261  T_EXTERN
2228     10    262  T_REGISTER
2229     11    263  T_STATIC
2230     12    264  T_TYPEDEF
2231     13    265  T_INLINE
2232     14    266  T_EXTENSION
2233     15    267  T_CHAR
2234     16    268  T_DOUBLE
2235     17    269  T_FLOAT
2236     18    270  T_INT
2237     19    271  T_VOID
2238     20    272  T_LONG
2239     21    273  T_SHORT
2240     22    274  T_SIGNED
2241     23    275  T_UNSIGNED
2242     24    276  T_ENUM
2243     25    277  T_STRUCT
2244     26    278  T_UNION
2245     27    279  T_Bool
2246     28    280  T_Complex
2247     29    281  T_Imaginary
2248     30    282  T_TYPE_QUALIFIER
2249     31    283  T_BRACKETS
2250     32    284  T_LBRACE
2251     33    285  T_MATCHRBRACE
2252     34    286  T_ELLIPSIS
2253     35    287  T_INITIALIZER
2254     36    288  T_STRING_LITERAL
2255     37    289  T_ASM
2256     38    290  T_ASMARG
2257     39    291  T_VA_DCL
2258     40     59  ';'
2259     41     44  ','
2260     42     61  '='
2261     43     41  ')'
2262     44    292  $accept
2263     45    293  program
2264     46    294  decl_specifiers
2265     47    295  decl_specifier
2266     48    296  storage_class
2267     49    297  type_specifier
2268     50    298  type_qualifier
2269     51    299  struct_or_union_specifier
2270     52    300  enum_specifier
2271     53    301  init_declarator_list
2272     54    302  init_declarator
2273     55    303  declarator
2274     56    304  direct_declarator
2275     57    305  abs_declarator
2276     58    306  direct_abs_declarator
2277     59    307  parameter_type_list
2278     60    308  parameter_list
2279     61    309  parameter_declaration
2280     62    310  opt_identifier_list
2281     63    311  identifier_list
2282     64    312  struct_or_union
2283     65    313  pointer
2284     66    314  opt_type_qualifiers
2285     67    315  type_qualifier_list
2286     68    316  any_id
2287     69    317  identifier_or_ref
2288     70    318  enumeration
2289     71    319  translation_unit
2290     72    320  external_declaration
2291     73    321  declaration
2292     74    322  function_definition
2293     75    323  linkage_specification
2294     76    324  braces
2295     77    325  any_typedef
2296     78    326  opt_declarator_list
2297     79    327  $$1
2298     80    328  declarator_list
2299     81    329  opt_declaration_list
2300     82    330  $$2
2301     83    331  $$3
2302     84    332  $$4
2303     85    333  declaration_list
2304     86    334  $$5