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
162state 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
223state 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
232state 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
249state 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
270state 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
280state 5
281	any_id : T_IDENTIFIER .  (77)
282
283	.  reduce 77
284
285
2866: reduce/reduce conflict (reduce 58, reduce 78) on '('
2876: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPEDEF_NAME
2886: reduce/reduce conflict (reduce 58, reduce 78) on T_DEFINE_NAME
2896: reduce/reduce conflict (reduce 58, reduce 78) on T_AUTO
2906: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTERN
2916: reduce/reduce conflict (reduce 58, reduce 78) on T_REGISTER
2926: reduce/reduce conflict (reduce 58, reduce 78) on T_STATIC
2936: reduce/reduce conflict (reduce 58, reduce 78) on T_INLINE
2946: reduce/reduce conflict (reduce 58, reduce 78) on T_EXTENSION
2956: reduce/reduce conflict (reduce 58, reduce 78) on T_CHAR
2966: reduce/reduce conflict (reduce 58, reduce 78) on T_DOUBLE
2976: reduce/reduce conflict (reduce 58, reduce 78) on T_FLOAT
2986: reduce/reduce conflict (reduce 58, reduce 78) on T_INT
2996: reduce/reduce conflict (reduce 58, reduce 78) on T_VOID
3006: reduce/reduce conflict (reduce 58, reduce 78) on T_LONG
3016: reduce/reduce conflict (reduce 58, reduce 78) on T_SHORT
3026: reduce/reduce conflict (reduce 58, reduce 78) on T_SIGNED
3036: reduce/reduce conflict (reduce 58, reduce 78) on T_UNSIGNED
3046: reduce/reduce conflict (reduce 58, reduce 78) on T_ENUM
3056: reduce/reduce conflict (reduce 58, reduce 78) on T_STRUCT
3066: reduce/reduce conflict (reduce 58, reduce 78) on T_UNION
3076: reduce/reduce conflict (reduce 58, reduce 78) on T_Bool
3086: reduce/reduce conflict (reduce 58, reduce 78) on T_Complex
3096: reduce/reduce conflict (reduce 58, reduce 78) on T_Imaginary
3106: reduce/reduce conflict (reduce 58, reduce 78) on T_TYPE_QUALIFIER
3116: reduce/reduce conflict (reduce 58, reduce 78) on T_BRACKETS
3126: reduce/reduce conflict (reduce 58, reduce 78) on ';'
3136: reduce/reduce conflict (reduce 58, reduce 78) on ','
3146: reduce/reduce conflict (reduce 58, reduce 78) on ')'
315state 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
357state 7
358	type_qualifier : T_DEFINE_NAME .  (62)
359
360	.  reduce 62
361
362
363state 8
364	storage_class : T_AUTO .  (40)
365
366	.  reduce 40
367
368
369state 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
406state 10
407	storage_class : T_REGISTER .  (42)
408
409	.  reduce 42
410
411
412state 11
413	storage_class : T_STATIC .  (43)
414
415	.  reduce 43
416
417
418state 12
419	any_typedef : T_TYPEDEF .  (20)
420
421	.  reduce 20
422
423
424state 13
425	storage_class : T_INLINE .  (44)
426
427	.  reduce 44
428
429
430state 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
466state 15
467	type_specifier : T_CHAR .  (46)
468
469	.  reduce 46
470
471
472state 16
473	type_specifier : T_DOUBLE .  (47)
474
475	.  reduce 47
476
477
478state 17
479	type_specifier : T_FLOAT .  (48)
480
481	.  reduce 48
482
483
484state 18
485	type_specifier : T_INT .  (49)
486
487	.  reduce 49
488
489
490state 19
491	type_specifier : T_VOID .  (54)
492
493	.  reduce 54
494
495
496state 20
497	type_specifier : T_LONG .  (50)
498
499	.  reduce 50
500
501
502state 21
503	type_specifier : T_SHORT .  (51)
504
505	.  reduce 51
506
507
508state 22
509	type_specifier : T_SIGNED .  (52)
510
511	.  reduce 52
512
513
514state 23
515	type_specifier : T_UNSIGNED .  (53)
516
517	.  reduce 53
518
519
520state 24
521	enumeration : T_ENUM .  (76)
522
523	.  reduce 76
524
525
526state 25
527	struct_or_union : T_STRUCT .  (66)
528
529	.  reduce 66
530
531
532state 26
533	struct_or_union : T_UNION .  (67)
534
535	.  reduce 67
536
537
538state 27
539	type_specifier : T_Bool .  (55)
540
541	.  reduce 55
542
543
544state 28
545	type_specifier : T_Complex .  (56)
546
547	.  reduce 56
548
549
550state 29
551	type_specifier : T_Imaginary .  (57)
552
553	.  reduce 57
554
555
556state 30
557	type_qualifier : T_TYPE_QUALIFIER .  (61)
558
559	.  reduce 61
560
561
562state 31
563	external_declaration : T_ASM . T_ASMARG ';'  (9)
564
565	T_ASMARG  shift 64
566	.  error
567
568
569state 32
570	external_declaration : ';' .  (7)
571
572	.  reduce 7
573
574
575state 33
576	$accept : program . $end  (0)
577
578	$end  accept
579
580
581state 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
635state 35
636	decl_specifiers : decl_specifier .  (35)
637
638	.  reduce 35
639
640
641state 36
642	decl_specifier : storage_class .  (37)
643
644	.  reduce 37
645
646
647state 37
648	decl_specifier : type_specifier .  (38)
649
650	.  reduce 38
651
652
653state 38
654	decl_specifier : type_qualifier .  (39)
655
656	.  reduce 39
657
658
659state 39
660	type_specifier : struct_or_union_specifier .  (59)
661
662	.  reduce 59
663
664
665state 40
666	type_specifier : enum_specifier .  (60)
667
668	.  reduce 60
669
670
671state 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
680state 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
721state 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
735state 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
749state 45
750	identifier_or_ref : any_id .  (103)
751
752	.  reduce 103
753
754
755state 46
756	direct_declarator : identifier_or_ref .  (81)
757
758	.  reduce 81
759
760
761state 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
775state 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
834state 49
835	translation_unit : external_declaration .  (3)
836
837	.  reduce 3
838
839
840state 50
841	external_declaration : declaration .  (5)
842
843	.  reduce 5
844
845
846state 51
847	external_declaration : function_definition .  (6)
848
849	.  reduce 6
850
851
852state 52
853	external_declaration : linkage_specification .  (8)
854
855	.  reduce 8
856
857
858state 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
898state 54
899	external_declaration : error T_MATCHRBRACE .  (10)
900
901	.  reduce 10
902
903
904state 55
905	external_declaration : error ';' .  (11)
906
907	.  reduce 11
908
909
910state 56
911	any_id : T_TYPEDEF_NAME .  (78)
912
913	.  reduce 78
914
915
916state 57
917	direct_declarator : '(' declarator . ')'  (82)
918
919	')'  shift 84
920	.  error
921
922
923state 58
924	type_qualifier_list : type_qualifier .  (90)
925
926	.  reduce 90
927
928
929state 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
945state 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
963state 61
964	identifier_or_ref : '&' any_id .  (104)
965
966	.  reduce 104
967
968
969state 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
1015state 63
1016	any_typedef : T_EXTENSION T_TYPEDEF .  (19)
1017
1018	.  reduce 19
1019
1020
1021state 64
1022	external_declaration : T_ASM T_ASMARG . ';'  (9)
1023
1024	';'  shift 90
1025	.  error
1026
1027
1028state 65
1029	storage_class : T_EXTERN .  (41)
1030
1031	.  reduce 41
1032
1033
1034state 66
1035	storage_class : T_EXTENSION .  (45)
1036
1037	.  reduce 45
1038
1039
1040state 67
1041	declaration : decl_specifiers ';' .  (15)
1042
1043	.  reduce 15
1044
1045
1046state 68
1047	decl_specifiers : decl_specifiers decl_specifier .  (36)
1048
1049	.  reduce 36
1050
1051
1052state 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
1061state 70
1062	init_declarator_list : init_declarator .  (68)
1063
1064	.  reduce 68
1065
1066
1067state 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
1107state 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
1154state 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
1203state 74
1204	direct_declarator : direct_declarator T_BRACKETS .  (83)
1205
1206	.  reduce 83
1207
1208
1209state 75
1210	braces : T_LBRACE . T_MATCHRBRACE  (12)
1211
1212	T_MATCHRBRACE  shift 106
1213	.  error
1214
1215
1216state 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
1257state 77
1258	struct_or_union_specifier : struct_or_union braces .  (64)
1259
1260	.  reduce 64
1261
1262
1263state 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
1304state 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
1345state 80
1346	enum_specifier : enumeration braces .  (74)
1347
1348	.  reduce 74
1349
1350
1351state 81
1352	translation_unit : translation_unit external_declaration .  (4)
1353
1354	.  reduce 4
1355
1356
1357state 82
1358	type_specifier : T_TYPEDEF_NAME .  (58)
1359
1360	.  reduce 58
1361
1362
136383: shift/reduce conflict (shift 82, reduce 17) on T_TYPEDEF_NAME
1364state 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
1410state 84
1411	direct_declarator : '(' declarator ')' .  (82)
1412
1413	.  reduce 82
1414
1415
1416state 85
1417	pointer : '*' opt_type_qualifiers pointer .  (87)
1418
1419	.  reduce 87
1420
1421
1422state 86
1423	type_qualifier_list : type_qualifier_list type_qualifier .  (91)
1424
1425	.  reduce 91
1426
1427
1428state 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
1481state 88
1482	linkage_specification : T_EXTERN T_STRING_LITERAL declaration .  (14)
1483
1484	.  reduce 14
1485
1486
1487state 89
1488	linkage_specification : T_EXTERN T_STRING_LITERAL braces .  (13)
1489
1490	.  reduce 13
1491
1492
1493state 90
1494	external_declaration : T_ASM T_ASMARG ';' .  (9)
1495
1496	.  reduce 9
1497
1498
1499state 91
1500	declaration : decl_specifiers init_declarator_list ';' .  (16)
1501
1502	.  reduce 16
1503
1504
1505state 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
1523state 93
1524	init_declarator : declarator '=' . $$5 T_INITIALIZER  (72)
1525	$$5 : .  (71)
1526
1527	.  reduce 71
1528
1529	$$5  goto 112
1530
1531
1532state 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
1579state 95
1580	opt_declaration_list : T_VA_DCL .  (31)
1581
1582	.  reduce 31
1583
1584
1585state 96
1586	declaration_list : declaration .  (33)
1587
1588	.  reduce 33
1589
1590
1591state 97
1592	function_definition : declarator $$4 opt_declaration_list . T_LBRACE T_MATCHRBRACE  (29)
1593
1594	T_LBRACE  shift 114
1595	.  error
1596
1597
1598state 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
1642state 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
1697state 100
1698	direct_declarator : direct_declarator '(' parameter_type_list . ')'  (84)
1699
1700	')'  shift 122
1701	.  error
1702
1703
1704state 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
1713state 102
1714	parameter_list : parameter_declaration .  (94)
1715
1716	.  reduce 94
1717
1718
1719state 103
1720	direct_declarator : direct_declarator '(' opt_identifier_list . ')'  (85)
1721
1722	')'  shift 124
1723	.  error
1724
1725
1726state 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
1734state 105
1735	identifier_list : any_id .  (101)
1736
1737	.  reduce 101
1738
1739
1740state 106
1741	braces : T_LBRACE T_MATCHRBRACE .  (12)
1742
1743	.  reduce 12
1744
1745
1746state 107
1747	struct_or_union_specifier : struct_or_union any_id braces .  (63)
1748
1749	.  reduce 63
1750
1751
1752state 108
1753	enum_specifier : enumeration any_id braces .  (73)
1754
1755	.  reduce 73
1756
1757
1758state 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
1778state 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
1787state 111
1788	init_declarator_list : init_declarator_list ',' init_declarator .  (69)
1789
1790	.  reduce 69
1791
1792
1793state 112
1794	init_declarator : declarator '=' $$5 . T_INITIALIZER  (72)
1795
1796	T_INITIALIZER  shift 129
1797	.  error
1798
1799
1800state 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
1807state 114
1808	function_definition : declarator $$4 opt_declaration_list T_LBRACE . T_MATCHRBRACE  (29)
1809
1810	T_MATCHRBRACE  shift 131
1811	.  error
1812
1813
1814state 115
1815	declaration_list : declaration_list declaration .  (34)
1816
1817	.  reduce 34
1818
1819
1820state 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
1879state 117
1880	direct_abs_declarator : T_BRACKETS .  (110)
1881
1882	.  reduce 110
1883
1884
1885state 118
1886	parameter_declaration : decl_specifiers declarator .  (96)
1887
1888	.  reduce 96
1889
1890
1891state 119
1892	parameter_declaration : decl_specifiers abs_declarator .  (97)
1893
1894	.  reduce 97
1895
1896
1897state 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
1909state 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
1928state 122
1929	direct_declarator : direct_declarator '(' parameter_type_list ')' .  (84)
1930
1931	.  reduce 84
1932
1933
1934state 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
1977state 124
1978	direct_declarator : direct_declarator '(' opt_identifier_list ')' .  (85)
1979
1980	.  reduce 85
1981
1982
1983state 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
1993state 126
1994	declarator_list : declarator .  (23)
1995
1996	.  reduce 23
1997
1998
1999state 127
2000	declaration : any_typedef decl_specifiers $$1 opt_declarator_list . ';'  (18)
2001
2002	';'  shift 141
2003	.  error
2004
2005
2006state 128
2007	opt_declarator_list : declarator_list .  (22)
2008	declarator_list : declarator_list . ',' declarator  (24)
2009
2010	','  shift 142
2011	';'  reduce 22
2012
2013
2014state 129
2015	init_declarator : declarator '=' $$5 T_INITIALIZER .  (72)
2016
2017	.  reduce 72
2018
2019
2020state 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
2029state 131
2030	function_definition : declarator $$4 opt_declaration_list T_LBRACE T_MATCHRBRACE .  (29)
2031
2032	.  reduce 29
2033
2034
2035state 132
2036	direct_abs_declarator : '(' ')' .  (114)
2037
2038	.  reduce 114
2039
2040
2041state 133
2042	direct_abs_declarator : '(' abs_declarator . ')'  (108)
2043
2044	')'  shift 144
2045	.  error
2046
2047
2048state 134
2049	direct_abs_declarator : '(' parameter_type_list . ')'  (113)
2050
2051	')'  shift 145
2052	.  error
2053
2054
2055state 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
2100state 136
2101	direct_abs_declarator : direct_abs_declarator T_BRACKETS .  (109)
2102
2103	.  reduce 109
2104
2105
2106state 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
2118state 138
2119	parameter_type_list : parameter_list ',' T_ELLIPSIS .  (93)
2120
2121	.  reduce 93
2122
2123
2124state 139
2125	parameter_list : parameter_list ',' parameter_declaration .  (95)
2126
2127	.  reduce 95
2128
2129
2130state 140
2131	identifier_list : identifier_list ',' any_id .  (102)
2132
2133	.  reduce 102
2134
2135
2136state 141
2137	declaration : any_typedef decl_specifiers $$1 opt_declarator_list ';' .  (18)
2138
2139	.  reduce 18
2140
2141
2142state 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
2159state 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
2166state 144
2167	direct_abs_declarator : '(' abs_declarator ')' .  (108)
2168
2169	.  reduce 108
2170
2171
2172state 145
2173	direct_abs_declarator : '(' parameter_type_list ')' .  (113)
2174
2175	.  reduce 113
2176
2177
2178state 146
2179	direct_abs_declarator : direct_abs_declarator '(' ')' .  (112)
2180
2181	.  reduce 112
2182
2183
2184state 147
2185	direct_abs_declarator : direct_abs_declarator '(' parameter_type_list . ')'  (111)
2186
2187	')'  shift 150
2188	.  error
2189
2190
2191state 148
2192	declarator_list : declarator_list ',' declarator .  (24)
2193
2194	.  reduce 24
2195
2196
2197state 149
2198	function_definition : decl_specifiers declarator $$2 opt_declaration_list T_LBRACE $$3 T_MATCHRBRACE .  (27)
2199
2200	.  reduce 27
2201
2202
2203state 150
2204	direct_abs_declarator : direct_abs_declarator '(' parameter_type_list ')' .  (111)
2205
2206	.  reduce 111
2207
2208
2209State 6 contains 29 reduce/reduce conflicts.
2210State 83 contains 1 shift/reduce conflict.
2211
2212
221344 terminals, 43 nonterminals
2214115 grammar rules, 151 states
2215
2216grammar parser grammar
2217symbol# 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
2305