xref: /freebsd/contrib/byacc/test/btyacc/btyacc_demo.output (revision af23369a6deaaeb612ab266eb88b8bb8d560c322)
1   0  $accept : input $end
2
3   1  opt_scope :
4   2            | CLCL
5   3            | opt_scope ID CLCL
6
7   4  typename : opt_scope ID
8
9   5  $$1 :
10
11   6  input : $$1 decl_list
12
13   7  decl_list :
14
15   8  $$2 :
16
17   9  decl_list : decl_list $$2 decl
18
19  10  decl : decl_specs declarator_list ';'
20
21  11  $$3 :
22
23  12  decl : decl_specs declarator $$3 block_statement
24
25  13  decl_specs : decl_spec
26  14             | decl_specs $$2 decl_spec
27
28  15  cv_quals :
29  16           | cv_quals cv_qual
30
31  17  decl_spec : cv_qual
32  18            | typename
33  19            | EXTERN
34  20            | REGISTER
35  21            | STATIC
36
37  22  cv_qual : CONST
38  23          | VOLATILE
39
40  24  $$4 :
41
42  25  $$5 :
43
44  26  declarator_list : declarator_list ',' $$4 $$5 declarator
45  27                  | declarator
46
47  28  declarator :
48  29             | ID
49
50  30  $$6 :
51
52  31  $$7 :
53
54  32  declarator : '(' $$6 $$7 declarator ')'
55  33             | '*' cv_quals $$4 $$5 declarator
56  34             | declarator '[' $$4 expr ']'
57  35             | declarator '(' $$4 formal_arg_list ')' cv_quals
58
59  36  formal_arg_list :
60  37                  | nonempty_formal_arg_list
61
62  38  nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg
63  39                           | formal_arg
64
65  40  formal_arg : decl_specs declarator
66
67  41  expr : expr '+' $$6 expr
68  42       | expr '-' $$6 expr
69  43       | expr '*' $$6 expr
70  44       | expr '%' $$6 expr
71  45       | expr '/' $$6 expr
72  46       | '*' $$2 expr
73  47       | ID
74  48       | CONSTANT
75
76  49  statement : decl
77  50            | expr ';'
78
79  51  $$8 :
80
81  52  $$9 :
82
83  53  statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement
84  54            | IF '(' $$6 expr ')' THEN $$8 statement
85
86  55  $$10 :
87
88  56  statement : $$10 block_statement
89
90  57  statement_list :
91  58                 | statement_list $$2 statement
92
93  59  block_statement : '{' $$2 statement_list '}'
94
95state 0
96	$accept : . input $end  (0)
97	$$1 : .  (5)
98
99	.  reduce 5
100
101	input  goto 1
102	$$1  goto 2
103
104
105state 1
106	$accept : input . $end  (0)
107
108	$end  accept
109
110
111state 2
112	input : $$1 . decl_list  (6)
113	decl_list : .  (7)
114
115	.  reduce 7
116
117	decl_list  goto 3
118
119
120state 3
121	input : $$1 decl_list .  (6)
122	decl_list : decl_list . $$2 decl  (9)
123	$$2 : .  (8)
124
125	$end  reduce 6
126	ID  reduce 8
127	EXTERN  reduce 8
128	REGISTER  reduce 8
129	STATIC  reduce 8
130	CONST  reduce 8
131	VOLATILE  reduce 8
132	CLCL  reduce 8
133
134	$$2  goto 4
135
136
137state 4
138	decl_list : decl_list $$2 . decl  (9)
139	opt_scope : .  (1)
140
141	EXTERN  shift 5
142	REGISTER  shift 6
143	STATIC  shift 7
144	CONST  shift 8
145	VOLATILE  shift 9
146	CLCL  shift 10
147	ID  reduce 1
148
149	decl  goto 11
150	decl_specs  goto 12
151	decl_spec  goto 13
152	typename  goto 14
153	cv_qual  goto 15
154	opt_scope  goto 16
155
156
157state 5
158	decl_spec : EXTERN .  (19)
159
160	.  reduce 19
161
162
163state 6
164	decl_spec : REGISTER .  (20)
165
166	.  reduce 20
167
168
169state 7
170	decl_spec : STATIC .  (21)
171
172	.  reduce 21
173
174
175state 8
176	cv_qual : CONST .  (22)
177
178	.  reduce 22
179
180
181state 9
182	cv_qual : VOLATILE .  (23)
183
184	.  reduce 23
185
186
187state 10
188	opt_scope : CLCL .  (2)
189
190	.  reduce 2
191
192
193state 11
194	decl_list : decl_list $$2 decl .  (9)
195
196	.  reduce 9
197
198
19912: shift/reduce conflict (shift 18, reduce 28) on '('
20012: shift/reduce conflict (shift 19, reduce 8) on ID
201state 12
202	decl : decl_specs . declarator_list ';'  (10)
203	decl : decl_specs . declarator $$3 block_statement  (12)
204	decl_specs : decl_specs . $$2 decl_spec  (14)
205	$$2 : .  (8)
206	declarator : .  (28)
207
208	'*'  shift 17
209	'('  [trial] shift 18
210	ID  [trial] shift 19
211	'('  [trial] reduce 28
212	'['  reduce 28
213	ID  [trial] reduce 8
214	EXTERN  reduce 8
215	REGISTER  reduce 8
216	STATIC  reduce 8
217	CONST  reduce 8
218	VOLATILE  reduce 8
219	CLCL  reduce 8
220	';'  reduce 28
221	','  reduce 28
222	'{'  reduce 28
223
224	declarator_list  goto 20
225	declarator  goto 21
226	$$2  goto 22
227
228
229state 13
230	decl_specs : decl_spec .  (13)
231
232	.  reduce 13
233
234
235state 14
236	decl_spec : typename .  (18)
237
238	.  reduce 18
239
240
241state 15
242	decl_spec : cv_qual .  (17)
243
244	.  reduce 17
245
246
247state 16
248	opt_scope : opt_scope . ID CLCL  (3)
249	typename : opt_scope . ID  (4)
250
251	ID  shift 23
252	.  error
253
254
255state 17
256	declarator : '*' . cv_quals $$4 $$5 declarator  (33)
257	cv_quals : .  (15)
258
259	.  reduce 15
260
261	cv_quals  goto 24
262
263
264state 18
265	declarator : '(' . $$6 $$7 declarator ')'  (32)
266	$$6 : .  (30)
267
268	.  reduce 30
269
270	$$6  goto 25
271
272
273state 19
274	declarator : ID .  (29)
275
276	.  reduce 29
277
278
279state 20
280	decl : decl_specs declarator_list . ';'  (10)
281	declarator_list : declarator_list . ',' $$4 $$5 declarator  (26)
282
283	';'  shift 26
284	','  shift 27
285	.  error
286
287
288state 21
289	decl : decl_specs declarator . $$3 block_statement  (12)
290	declarator_list : declarator .  (27)
291	declarator : declarator . '[' $$4 expr ']'  (34)
292	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
293	$$3 : .  (11)
294
295	'('  shift 28
296	'['  shift 29
297	';'  reduce 27
298	','  reduce 27
299	'{'  reduce 11
300
301	$$3  goto 30
302
303
304state 22
305	decl_specs : decl_specs $$2 . decl_spec  (14)
306	opt_scope : .  (1)
307
308	EXTERN  shift 5
309	REGISTER  shift 6
310	STATIC  shift 7
311	CONST  shift 8
312	VOLATILE  shift 9
313	CLCL  shift 10
314	ID  reduce 1
315
316	decl_spec  goto 31
317	typename  goto 14
318	cv_qual  goto 15
319	opt_scope  goto 16
320
321
32223: shift/reduce conflict (shift 32, reduce 4) on CLCL
323state 23
324	opt_scope : opt_scope ID . CLCL  (3)
325	typename : opt_scope ID .  (4)
326
327	CLCL  [trial] shift 32
328	'*'  reduce 4
329	'('  reduce 4
330	'['  reduce 4
331	ID  reduce 4
332	EXTERN  reduce 4
333	REGISTER  reduce 4
334	STATIC  reduce 4
335	CONST  reduce 4
336	VOLATILE  reduce 4
337	CLCL  [trial] reduce 4
338	';'  reduce 4
339	','  reduce 4
340	')'  reduce 4
341	'{'  reduce 4
342
343
344state 24
345	cv_quals : cv_quals . cv_qual  (16)
346	declarator : '*' cv_quals . $$4 $$5 declarator  (33)
347	$$4 : .  (24)
348
349	CONST  shift 8
350	VOLATILE  shift 9
351	'*'  reduce 24
352	'('  reduce 24
353	'['  reduce 24
354	ID  reduce 24
355	';'  reduce 24
356	','  reduce 24
357	')'  reduce 24
358	'{'  reduce 24
359
360	cv_qual  goto 33
361	$$4  goto 34
362
363
364state 25
365	declarator : '(' $$6 . $$7 declarator ')'  (32)
366	$$7 : .  (31)
367
368	.  reduce 31
369
370	$$7  goto 35
371
372
373state 26
374	decl : decl_specs declarator_list ';' .  (10)
375
376	.  reduce 10
377
378
379state 27
380	declarator_list : declarator_list ',' . $$4 $$5 declarator  (26)
381	$$4 : .  (24)
382
383	.  reduce 24
384
385	$$4  goto 36
386
387
388state 28
389	declarator : declarator '(' . $$4 formal_arg_list ')' cv_quals  (35)
390	$$4 : .  (24)
391
392	.  reduce 24
393
394	$$4  goto 37
395
396
397state 29
398	declarator : declarator '[' . $$4 expr ']'  (34)
399	$$4 : .  (24)
400
401	.  reduce 24
402
403	$$4  goto 38
404
405
406state 30
407	decl : decl_specs declarator $$3 . block_statement  (12)
408
409	'{'  shift 39
410	.  error
411
412	block_statement  goto 40
413
414
415state 31
416	decl_specs : decl_specs $$2 decl_spec .  (14)
417
418	.  reduce 14
419
420
421state 32
422	opt_scope : opt_scope ID CLCL .  (3)
423
424	.  reduce 3
425
426
427state 33
428	cv_quals : cv_quals cv_qual .  (16)
429
430	.  reduce 16
431
432
433state 34
434	declarator : '*' cv_quals $$4 . $$5 declarator  (33)
435	$$5 : .  (25)
436
437	.  reduce 25
438
439	$$5  goto 41
440
441
44235: shift/reduce conflict (shift 18, reduce 28) on '('
443state 35
444	declarator : '(' $$6 $$7 . declarator ')'  (32)
445	declarator : .  (28)
446
447	'*'  shift 17
448	'('  [trial] shift 18
449	ID  shift 19
450	'('  [trial] reduce 28
451	'['  reduce 28
452	')'  reduce 28
453
454	declarator  goto 42
455
456
457state 36
458	declarator_list : declarator_list ',' $$4 . $$5 declarator  (26)
459	$$5 : .  (25)
460
461	.  reduce 25
462
463	$$5  goto 43
464
465
466state 37
467	declarator : declarator '(' $$4 . formal_arg_list ')' cv_quals  (35)
468	opt_scope : .  (1)
469	formal_arg_list : .  (36)
470
471	EXTERN  shift 5
472	REGISTER  shift 6
473	STATIC  shift 7
474	CONST  shift 8
475	VOLATILE  shift 9
476	CLCL  shift 10
477	ID  reduce 1
478	')'  reduce 36
479
480	formal_arg  goto 44
481	decl_specs  goto 45
482	decl_spec  goto 13
483	typename  goto 14
484	cv_qual  goto 15
485	opt_scope  goto 16
486	formal_arg_list  goto 46
487	nonempty_formal_arg_list  goto 47
488
489
490state 38
491	declarator : declarator '[' $$4 . expr ']'  (34)
492
493	'*'  shift 48
494	ID  shift 49
495	CONSTANT  shift 50
496	.  error
497
498	expr  goto 51
499
500
501state 39
502	block_statement : '{' . $$2 statement_list '}'  (59)
503	$$2 : .  (8)
504
505	.  reduce 8
506
507	$$2  goto 52
508
509
510state 40
511	decl : decl_specs declarator $$3 block_statement .  (12)
512
513	.  reduce 12
514
515
51641: shift/reduce conflict (shift 18, reduce 28) on '('
517state 41
518	declarator : '*' cv_quals $$4 $$5 . declarator  (33)
519	declarator : .  (28)
520
521	'*'  shift 17
522	'('  [trial] shift 18
523	ID  shift 19
524	'('  [trial] reduce 28
525	'['  reduce 28
526	';'  reduce 28
527	','  reduce 28
528	')'  reduce 28
529	'{'  reduce 28
530
531	declarator  goto 53
532
533
534state 42
535	declarator : '(' $$6 $$7 declarator . ')'  (32)
536	declarator : declarator . '[' $$4 expr ']'  (34)
537	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
538
539	'('  shift 28
540	'['  shift 29
541	')'  shift 54
542	.  error
543
544
54543: shift/reduce conflict (shift 18, reduce 28) on '('
546state 43
547	declarator_list : declarator_list ',' $$4 $$5 . declarator  (26)
548	declarator : .  (28)
549
550	'*'  shift 17
551	'('  [trial] shift 18
552	ID  shift 19
553	'('  [trial] reduce 28
554	'['  reduce 28
555	';'  reduce 28
556	','  reduce 28
557
558	declarator  goto 55
559
560
561state 44
562	nonempty_formal_arg_list : formal_arg .  (39)
563
564	.  reduce 39
565
566
56745: shift/reduce conflict (shift 18, reduce 28) on '('
56845: shift/reduce conflict (shift 19, reduce 8) on ID
569state 45
570	decl_specs : decl_specs . $$2 decl_spec  (14)
571	formal_arg : decl_specs . declarator  (40)
572	$$2 : .  (8)
573	declarator : .  (28)
574
575	'*'  shift 17
576	'('  [trial] shift 18
577	ID  [trial] shift 19
578	'('  [trial] reduce 28
579	'['  reduce 28
580	ID  [trial] reduce 8
581	EXTERN  reduce 8
582	REGISTER  reduce 8
583	STATIC  reduce 8
584	CONST  reduce 8
585	VOLATILE  reduce 8
586	CLCL  reduce 8
587	','  reduce 28
588	')'  reduce 28
589
590	declarator  goto 56
591	$$2  goto 22
592
593
594state 46
595	declarator : declarator '(' $$4 formal_arg_list . ')' cv_quals  (35)
596
597	')'  shift 57
598	.  error
599
600
601state 47
602	formal_arg_list : nonempty_formal_arg_list .  (37)
603	nonempty_formal_arg_list : nonempty_formal_arg_list . ',' $$6 formal_arg  (38)
604
605	','  shift 58
606	')'  reduce 37
607
608
609state 48
610	expr : '*' . $$2 expr  (46)
611	$$2 : .  (8)
612
613	.  reduce 8
614
615	$$2  goto 59
616
617
618state 49
619	expr : ID .  (47)
620
621	.  reduce 47
622
623
624state 50
625	expr : CONSTANT .  (48)
626
627	.  reduce 48
628
629
630state 51
631	declarator : declarator '[' $$4 expr . ']'  (34)
632	expr : expr . '+' $$6 expr  (41)
633	expr : expr . '-' $$6 expr  (42)
634	expr : expr . '*' $$6 expr  (43)
635	expr : expr . '%' $$6 expr  (44)
636	expr : expr . '/' $$6 expr  (45)
637
638	'+'  shift 60
639	'-'  shift 61
640	'*'  shift 62
641	'/'  shift 63
642	'%'  shift 64
643	']'  shift 65
644	.  error
645
646
647state 52
648	block_statement : '{' $$2 . statement_list '}'  (59)
649	statement_list : .  (57)
650
651	.  reduce 57
652
653	statement_list  goto 66
654
655
656state 53
657	declarator : '*' cv_quals $$4 $$5 declarator .  (33)
658	declarator : declarator . '[' $$4 expr ']'  (34)
659	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
660
661	'('  shift 28
662	'['  shift 29
663	';'  reduce 33
664	','  reduce 33
665	')'  reduce 33
666	'{'  reduce 33
667
668
669state 54
670	declarator : '(' $$6 $$7 declarator ')' .  (32)
671
672	.  reduce 32
673
674
675state 55
676	declarator_list : declarator_list ',' $$4 $$5 declarator .  (26)
677	declarator : declarator . '[' $$4 expr ']'  (34)
678	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
679
680	'('  shift 28
681	'['  shift 29
682	';'  reduce 26
683	','  reduce 26
684
685
686state 56
687	declarator : declarator . '[' $$4 expr ']'  (34)
688	declarator : declarator . '(' $$4 formal_arg_list ')' cv_quals  (35)
689	formal_arg : decl_specs declarator .  (40)
690
691	'('  shift 28
692	'['  shift 29
693	','  reduce 40
694	')'  reduce 40
695
696
697state 57
698	declarator : declarator '(' $$4 formal_arg_list ')' . cv_quals  (35)
699	cv_quals : .  (15)
700
701	.  reduce 15
702
703	cv_quals  goto 67
704
705
706state 58
707	nonempty_formal_arg_list : nonempty_formal_arg_list ',' . $$6 formal_arg  (38)
708	$$6 : .  (30)
709
710	.  reduce 30
711
712	$$6  goto 68
713
714
715state 59
716	expr : '*' $$2 . expr  (46)
717
718	'*'  shift 48
719	ID  shift 49
720	CONSTANT  shift 50
721	.  error
722
723	expr  goto 69
724
725
726state 60
727	expr : expr '+' . $$6 expr  (41)
728	$$6 : .  (30)
729
730	.  reduce 30
731
732	$$6  goto 70
733
734
735state 61
736	expr : expr '-' . $$6 expr  (42)
737	$$6 : .  (30)
738
739	.  reduce 30
740
741	$$6  goto 71
742
743
744state 62
745	expr : expr '*' . $$6 expr  (43)
746	$$6 : .  (30)
747
748	.  reduce 30
749
750	$$6  goto 72
751
752
753state 63
754	expr : expr '/' . $$6 expr  (45)
755	$$6 : .  (30)
756
757	.  reduce 30
758
759	$$6  goto 73
760
761
762state 64
763	expr : expr '%' . $$6 expr  (44)
764	$$6 : .  (30)
765
766	.  reduce 30
767
768	$$6  goto 74
769
770
771state 65
772	declarator : declarator '[' $$4 expr ']' .  (34)
773
774	.  reduce 34
775
776
777state 66
778	statement_list : statement_list . $$2 statement  (58)
779	block_statement : '{' $$2 statement_list . '}'  (59)
780	$$2 : .  (8)
781
782	'}'  shift 75
783	'*'  reduce 8
784	ID  reduce 8
785	CONSTANT  reduce 8
786	EXTERN  reduce 8
787	REGISTER  reduce 8
788	STATIC  reduce 8
789	CONST  reduce 8
790	VOLATILE  reduce 8
791	IF  reduce 8
792	CLCL  reduce 8
793	'{'  reduce 8
794
795	$$2  goto 76
796
797
798state 67
799	cv_quals : cv_quals . cv_qual  (16)
800	declarator : declarator '(' $$4 formal_arg_list ')' cv_quals .  (35)
801
802	CONST  shift 8
803	VOLATILE  shift 9
804	'('  reduce 35
805	'['  reduce 35
806	';'  reduce 35
807	','  reduce 35
808	')'  reduce 35
809	'{'  reduce 35
810
811	cv_qual  goto 33
812
813
814state 68
815	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 . formal_arg  (38)
816	opt_scope : .  (1)
817
818	EXTERN  shift 5
819	REGISTER  shift 6
820	STATIC  shift 7
821	CONST  shift 8
822	VOLATILE  shift 9
823	CLCL  shift 10
824	ID  reduce 1
825
826	formal_arg  goto 77
827	decl_specs  goto 45
828	decl_spec  goto 13
829	typename  goto 14
830	cv_qual  goto 15
831	opt_scope  goto 16
832
833
834state 69
835	expr : expr . '+' $$6 expr  (41)
836	expr : expr . '-' $$6 expr  (42)
837	expr : expr . '*' $$6 expr  (43)
838	expr : expr . '%' $$6 expr  (44)
839	expr : expr . '/' $$6 expr  (45)
840	expr : '*' $$2 expr .  (46)
841
842	.  reduce 46
843
844
845state 70
846	expr : expr '+' $$6 . expr  (41)
847
848	'*'  shift 48
849	ID  shift 49
850	CONSTANT  shift 50
851	.  error
852
853	expr  goto 78
854
855
856state 71
857	expr : expr '-' $$6 . expr  (42)
858
859	'*'  shift 48
860	ID  shift 49
861	CONSTANT  shift 50
862	.  error
863
864	expr  goto 79
865
866
867state 72
868	expr : expr '*' $$6 . expr  (43)
869
870	'*'  shift 48
871	ID  shift 49
872	CONSTANT  shift 50
873	.  error
874
875	expr  goto 80
876
877
878state 73
879	expr : expr '/' $$6 . expr  (45)
880
881	'*'  shift 48
882	ID  shift 49
883	CONSTANT  shift 50
884	.  error
885
886	expr  goto 81
887
888
889state 74
890	expr : expr '%' $$6 . expr  (44)
891
892	'*'  shift 48
893	ID  shift 49
894	CONSTANT  shift 50
895	.  error
896
897	expr  goto 82
898
899
900state 75
901	block_statement : '{' $$2 statement_list '}' .  (59)
902
903	.  reduce 59
904
905
90676: shift/reduce conflict (shift 49, reduce 1) on ID
907state 76
908	statement_list : statement_list $$2 . statement  (58)
909	opt_scope : .  (1)
910	$$10 : .  (55)
911
912	'*'  shift 48
913	ID  [trial] shift 49
914	CONSTANT  shift 50
915	EXTERN  shift 5
916	REGISTER  shift 6
917	STATIC  shift 7
918	CONST  shift 8
919	VOLATILE  shift 9
920	IF  shift 83
921	CLCL  shift 10
922	ID  [trial] reduce 1
923	'{'  reduce 55
924
925	expr  goto 84
926	decl  goto 85
927	statement  goto 86
928	decl_specs  goto 12
929	decl_spec  goto 13
930	typename  goto 14
931	cv_qual  goto 15
932	opt_scope  goto 16
933	$$10  goto 87
934
935
936state 77
937	nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg .  (38)
938
939	.  reduce 38
940
941
942state 78
943	expr : expr . '+' $$6 expr  (41)
944	expr : expr '+' $$6 expr .  (41)
945	expr : expr . '-' $$6 expr  (42)
946	expr : expr . '*' $$6 expr  (43)
947	expr : expr . '%' $$6 expr  (44)
948	expr : expr . '/' $$6 expr  (45)
949
950	'*'  shift 62
951	'/'  shift 63
952	'%'  shift 64
953	'+'  reduce 41
954	'-'  reduce 41
955	';'  reduce 41
956	')'  reduce 41
957	']'  reduce 41
958
959
960state 79
961	expr : expr . '+' $$6 expr  (41)
962	expr : expr . '-' $$6 expr  (42)
963	expr : expr '-' $$6 expr .  (42)
964	expr : expr . '*' $$6 expr  (43)
965	expr : expr . '%' $$6 expr  (44)
966	expr : expr . '/' $$6 expr  (45)
967
968	'*'  shift 62
969	'/'  shift 63
970	'%'  shift 64
971	'+'  reduce 42
972	'-'  reduce 42
973	';'  reduce 42
974	')'  reduce 42
975	']'  reduce 42
976
977
978state 80
979	expr : expr . '+' $$6 expr  (41)
980	expr : expr . '-' $$6 expr  (42)
981	expr : expr . '*' $$6 expr  (43)
982	expr : expr '*' $$6 expr .  (43)
983	expr : expr . '%' $$6 expr  (44)
984	expr : expr . '/' $$6 expr  (45)
985
986	.  reduce 43
987
988
989state 81
990	expr : expr . '+' $$6 expr  (41)
991	expr : expr . '-' $$6 expr  (42)
992	expr : expr . '*' $$6 expr  (43)
993	expr : expr . '%' $$6 expr  (44)
994	expr : expr . '/' $$6 expr  (45)
995	expr : expr '/' $$6 expr .  (45)
996
997	.  reduce 45
998
999
1000state 82
1001	expr : expr . '+' $$6 expr  (41)
1002	expr : expr . '-' $$6 expr  (42)
1003	expr : expr . '*' $$6 expr  (43)
1004	expr : expr . '%' $$6 expr  (44)
1005	expr : expr '%' $$6 expr .  (44)
1006	expr : expr . '/' $$6 expr  (45)
1007
1008	.  reduce 44
1009
1010
1011state 83
1012	statement : IF . '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement  (53)
1013	statement : IF . '(' $$6 expr ')' THEN $$8 statement  (54)
1014
1015	'('  shift 88
1016	.  error
1017
1018
1019state 84
1020	expr : expr . '+' $$6 expr  (41)
1021	expr : expr . '-' $$6 expr  (42)
1022	expr : expr . '*' $$6 expr  (43)
1023	expr : expr . '%' $$6 expr  (44)
1024	expr : expr . '/' $$6 expr  (45)
1025	statement : expr . ';'  (50)
1026
1027	'+'  shift 60
1028	'-'  shift 61
1029	'*'  shift 62
1030	'/'  shift 63
1031	'%'  shift 64
1032	';'  shift 89
1033	.  error
1034
1035
1036state 85
1037	statement : decl .  (49)
1038
1039	.  reduce 49
1040
1041
1042state 86
1043	statement_list : statement_list $$2 statement .  (58)
1044
1045	.  reduce 58
1046
1047
1048state 87
1049	statement : $$10 . block_statement  (56)
1050
1051	'{'  shift 39
1052	.  error
1053
1054	block_statement  goto 90
1055
1056
1057state 88
1058	statement : IF '(' . $$6 expr ')' THEN $$8 statement ELSE $$9 statement  (53)
1059	statement : IF '(' . $$6 expr ')' THEN $$8 statement  (54)
1060	$$6 : .  (30)
1061
1062	.  reduce 30
1063
1064	$$6  goto 91
1065
1066
1067state 89
1068	statement : expr ';' .  (50)
1069
1070	.  reduce 50
1071
1072
1073state 90
1074	statement : $$10 block_statement .  (56)
1075
1076	.  reduce 56
1077
1078
1079state 91
1080	statement : IF '(' $$6 . expr ')' THEN $$8 statement ELSE $$9 statement  (53)
1081	statement : IF '(' $$6 . expr ')' THEN $$8 statement  (54)
1082
1083	'*'  shift 48
1084	ID  shift 49
1085	CONSTANT  shift 50
1086	.  error
1087
1088	expr  goto 92
1089
1090
1091state 92
1092	expr : expr . '+' $$6 expr  (41)
1093	expr : expr . '-' $$6 expr  (42)
1094	expr : expr . '*' $$6 expr  (43)
1095	expr : expr . '%' $$6 expr  (44)
1096	expr : expr . '/' $$6 expr  (45)
1097	statement : IF '(' $$6 expr . ')' THEN $$8 statement ELSE $$9 statement  (53)
1098	statement : IF '(' $$6 expr . ')' THEN $$8 statement  (54)
1099
1100	'+'  shift 60
1101	'-'  shift 61
1102	'*'  shift 62
1103	'/'  shift 63
1104	'%'  shift 64
1105	')'  shift 93
1106	.  error
1107
1108
1109state 93
1110	statement : IF '(' $$6 expr ')' . THEN $$8 statement ELSE $$9 statement  (53)
1111	statement : IF '(' $$6 expr ')' . THEN $$8 statement  (54)
1112
1113	THEN  shift 94
1114	.  error
1115
1116
1117state 94
1118	statement : IF '(' $$6 expr ')' THEN . $$8 statement ELSE $$9 statement  (53)
1119	statement : IF '(' $$6 expr ')' THEN . $$8 statement  (54)
1120	$$8 : .  (51)
1121
1122	.  reduce 51
1123
1124	$$8  goto 95
1125
1126
112795: shift/reduce conflict (shift 49, reduce 1) on ID
1128state 95
1129	statement : IF '(' $$6 expr ')' THEN $$8 . statement ELSE $$9 statement  (53)
1130	statement : IF '(' $$6 expr ')' THEN $$8 . statement  (54)
1131	opt_scope : .  (1)
1132	$$10 : .  (55)
1133
1134	'*'  shift 48
1135	ID  [trial] shift 49
1136	CONSTANT  shift 50
1137	EXTERN  shift 5
1138	REGISTER  shift 6
1139	STATIC  shift 7
1140	CONST  shift 8
1141	VOLATILE  shift 9
1142	IF  shift 83
1143	CLCL  shift 10
1144	ID  [trial] reduce 1
1145	'{'  reduce 55
1146
1147	expr  goto 84
1148	decl  goto 85
1149	statement  goto 96
1150	decl_specs  goto 12
1151	decl_spec  goto 13
1152	typename  goto 14
1153	cv_qual  goto 15
1154	opt_scope  goto 16
1155	$$10  goto 87
1156
1157
115896: shift/reduce conflict (shift 97, reduce 54) on ELSE
1159state 96
1160	statement : IF '(' $$6 expr ')' THEN $$8 statement . ELSE $$9 statement  (53)
1161	statement : IF '(' $$6 expr ')' THEN $$8 statement .  (54)
1162
1163	ELSE  [trial] shift 97
1164	'*'  reduce 54
1165	ID  reduce 54
1166	CONSTANT  reduce 54
1167	EXTERN  reduce 54
1168	REGISTER  reduce 54
1169	STATIC  reduce 54
1170	CONST  reduce 54
1171	VOLATILE  reduce 54
1172	IF  reduce 54
1173	ELSE  [trial] reduce 54
1174	CLCL  reduce 54
1175	'{'  reduce 54
1176	'}'  reduce 54
1177
1178
1179state 97
1180	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE . $$9 statement  (53)
1181	$$9 : .  (52)
1182
1183	.  reduce 52
1184
1185	$$9  goto 98
1186
1187
118898: shift/reduce conflict (shift 49, reduce 1) on ID
1189state 98
1190	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 . statement  (53)
1191	opt_scope : .  (1)
1192	$$10 : .  (55)
1193
1194	'*'  shift 48
1195	ID  [trial] shift 49
1196	CONSTANT  shift 50
1197	EXTERN  shift 5
1198	REGISTER  shift 6
1199	STATIC  shift 7
1200	CONST  shift 8
1201	VOLATILE  shift 9
1202	IF  shift 83
1203	CLCL  shift 10
1204	ID  [trial] reduce 1
1205	'{'  reduce 55
1206
1207	expr  goto 84
1208	decl  goto 85
1209	statement  goto 99
1210	decl_specs  goto 12
1211	decl_spec  goto 13
1212	typename  goto 14
1213	cv_qual  goto 15
1214	opt_scope  goto 16
1215	$$10  goto 87
1216
1217
1218state 99
1219	statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement .  (53)
1220
1221	.  reduce 53
1222
1223
1224State 12 contains 2 shift/reduce conflicts.
1225State 23 contains 1 shift/reduce conflict.
1226State 35 contains 1 shift/reduce conflict.
1227State 41 contains 1 shift/reduce conflict.
1228State 43 contains 1 shift/reduce conflict.
1229State 45 contains 2 shift/reduce conflicts.
1230State 76 contains 1 shift/reduce conflict.
1231State 95 contains 1 shift/reduce conflict.
1232State 96 contains 1 shift/reduce conflict.
1233State 98 contains 1 shift/reduce conflict.
1234
1235
123629 terminals, 29 nonterminals
123760 grammar rules, 100 states
1238
1239grammar parser grammar
1240symbol# value# symbol
1241     0      0  $end
1242     1    256  error
1243     2     43  '+'
1244     3     45  '-'
1245     4     42  '*'
1246     5     47  '/'
1247     6     37  '%'
1248     7    257  PREFIX
1249     8    258  POSTFIX
1250     9     40  '('
1251    10     91  '['
1252    11     46  '.'
1253    12    259  ID
1254    13    260  CONSTANT
1255    14    261  EXTERN
1256    15    262  REGISTER
1257    16    263  STATIC
1258    17    264  CONST
1259    18    265  VOLATILE
1260    19    266  IF
1261    20    267  THEN
1262    21    268  ELSE
1263    22    269  CLCL
1264    23     59  ';'
1265    24     44  ','
1266    25     41  ')'
1267    26     93  ']'
1268    27    123  '{'
1269    28    125  '}'
1270    29    270  $accept
1271    30    271  input
1272    31    272  expr
1273    32    273  decl
1274    33    274  declarator_list
1275    34    275  decl_list
1276    35    276  statement
1277    36    277  statement_list
1278    37    278  block_statement
1279    38    279  declarator
1280    39    280  formal_arg
1281    40    281  decl_specs
1282    41    282  decl_spec
1283    42    283  typename
1284    43    284  cv_quals
1285    44    285  cv_qual
1286    45    286  opt_scope
1287    46    287  formal_arg_list
1288    47    288  nonempty_formal_arg_list
1289    48    289  $$1
1290    49    290  $$2
1291    50    291  $$3
1292    51    292  $$4
1293    52    293  $$5
1294    53    294  $$6
1295    54    295  $$7
1296    55    296  $$8
1297    56    297  $$9
1298    57    298  $$10
1299