]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/byacc/test/btyacc/btyacc_demo.output
Update to Zstandard 1.3.8
[FreeBSD/FreeBSD.git] / contrib / byacc / test / btyacc / btyacc_demo.output
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 \f
95 state 0
96         $accept : . input $end  (0)
97         $$1 : .  (5)
98
99         .  reduce 5
100
101         input  goto 1
102         $$1  goto 2
103
104
105 state 1
106         $accept : input . $end  (0)
107
108         $end  accept
109
110
111 state 2
112         input : $$1 . decl_list  (6)
113         decl_list : .  (7)
114
115         .  reduce 7
116
117         decl_list  goto 3
118
119
120 state 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
137 state 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
157 state 5
158         decl_spec : EXTERN .  (19)
159
160         .  reduce 19
161
162
163 state 6
164         decl_spec : REGISTER .  (20)
165
166         .  reduce 20
167
168
169 state 7
170         decl_spec : STATIC .  (21)
171
172         .  reduce 21
173
174
175 state 8
176         cv_qual : CONST .  (22)
177
178         .  reduce 22
179
180
181 state 9
182         cv_qual : VOLATILE .  (23)
183
184         .  reduce 23
185
186
187 state 10
188         opt_scope : CLCL .  (2)
189
190         .  reduce 2
191
192
193 state 11
194         decl_list : decl_list $$2 decl .  (9)
195
196         .  reduce 9
197
198
199 12: shift/reduce conflict (shift 18, reduce 28) on '('
200 12: shift/reduce conflict (shift 19, reduce 8) on ID
201 state 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
229 state 13
230         decl_specs : decl_spec .  (13)
231
232         .  reduce 13
233
234
235 state 14
236         decl_spec : typename .  (18)
237
238         .  reduce 18
239
240
241 state 15
242         decl_spec : cv_qual .  (17)
243
244         .  reduce 17
245
246
247 state 16
248         opt_scope : opt_scope . ID CLCL  (3)
249         typename : opt_scope . ID  (4)
250
251         ID  shift 23
252         .  error
253
254
255 state 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
264 state 18
265         declarator : '(' . $$6 $$7 declarator ')'  (32)
266         $$6 : .  (30)
267
268         .  reduce 30
269
270         $$6  goto 25
271
272
273 state 19
274         declarator : ID .  (29)
275
276         .  reduce 29
277
278
279 state 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
288 state 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
304 state 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
322 23: shift/reduce conflict (shift 32, reduce 4) on CLCL
323 state 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
344 state 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
364 state 25
365         declarator : '(' $$6 . $$7 declarator ')'  (32)
366         $$7 : .  (31)
367
368         .  reduce 31
369
370         $$7  goto 35
371
372
373 state 26
374         decl : decl_specs declarator_list ';' .  (10)
375
376         .  reduce 10
377
378
379 state 27
380         declarator_list : declarator_list ',' . $$4 $$5 declarator  (26)
381         $$4 : .  (24)
382
383         .  reduce 24
384
385         $$4  goto 36
386
387
388 state 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
397 state 29
398         declarator : declarator '[' . $$4 expr ']'  (34)
399         $$4 : .  (24)
400
401         .  reduce 24
402
403         $$4  goto 38
404
405
406 state 30
407         decl : decl_specs declarator $$3 . block_statement  (12)
408
409         '{'  shift 39
410         .  error
411
412         block_statement  goto 40
413
414
415 state 31
416         decl_specs : decl_specs $$2 decl_spec .  (14)
417
418         .  reduce 14
419
420
421 state 32
422         opt_scope : opt_scope ID CLCL .  (3)
423
424         .  reduce 3
425
426
427 state 33
428         cv_quals : cv_quals cv_qual .  (16)
429
430         .  reduce 16
431
432
433 state 34
434         declarator : '*' cv_quals $$4 . $$5 declarator  (33)
435         $$5 : .  (25)
436
437         .  reduce 25
438
439         $$5  goto 41
440
441
442 35: shift/reduce conflict (shift 18, reduce 28) on '('
443 state 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
457 state 36
458         declarator_list : declarator_list ',' $$4 . $$5 declarator  (26)
459         $$5 : .  (25)
460
461         .  reduce 25
462
463         $$5  goto 43
464
465
466 state 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
490 state 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
501 state 39
502         block_statement : '{' . $$2 statement_list '}'  (59)
503         $$2 : .  (8)
504
505         .  reduce 8
506
507         $$2  goto 52
508
509
510 state 40
511         decl : decl_specs declarator $$3 block_statement .  (12)
512
513         .  reduce 12
514
515
516 41: shift/reduce conflict (shift 18, reduce 28) on '('
517 state 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
534 state 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
545 43: shift/reduce conflict (shift 18, reduce 28) on '('
546 state 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
561 state 44
562         nonempty_formal_arg_list : formal_arg .  (39)
563
564         .  reduce 39
565
566
567 45: shift/reduce conflict (shift 18, reduce 28) on '('
568 45: shift/reduce conflict (shift 19, reduce 8) on ID
569 state 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
594 state 46
595         declarator : declarator '(' $$4 formal_arg_list . ')' cv_quals  (35)
596
597         ')'  shift 57
598         .  error
599
600
601 state 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
609 state 48
610         expr : '*' . $$2 expr  (46)
611         $$2 : .  (8)
612
613         .  reduce 8
614
615         $$2  goto 59
616
617
618 state 49
619         expr : ID .  (47)
620
621         .  reduce 47
622
623
624 state 50
625         expr : CONSTANT .  (48)
626
627         .  reduce 48
628
629
630 state 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
647 state 52
648         block_statement : '{' $$2 . statement_list '}'  (59)
649         statement_list : .  (57)
650
651         .  reduce 57
652
653         statement_list  goto 66
654
655
656 state 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
669 state 54
670         declarator : '(' $$6 $$7 declarator ')' .  (32)
671
672         .  reduce 32
673
674
675 state 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
686 state 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
697 state 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
706 state 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
715 state 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
726 state 60
727         expr : expr '+' . $$6 expr  (41)
728         $$6 : .  (30)
729
730         .  reduce 30
731
732         $$6  goto 70
733
734
735 state 61
736         expr : expr '-' . $$6 expr  (42)
737         $$6 : .  (30)
738
739         .  reduce 30
740
741         $$6  goto 71
742
743
744 state 62
745         expr : expr '*' . $$6 expr  (43)
746         $$6 : .  (30)
747
748         .  reduce 30
749
750         $$6  goto 72
751
752
753 state 63
754         expr : expr '/' . $$6 expr  (45)
755         $$6 : .  (30)
756
757         .  reduce 30
758
759         $$6  goto 73
760
761
762 state 64
763         expr : expr '%' . $$6 expr  (44)
764         $$6 : .  (30)
765
766         .  reduce 30
767
768         $$6  goto 74
769
770
771 state 65
772         declarator : declarator '[' $$4 expr ']' .  (34)
773
774         .  reduce 34
775
776
777 state 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
798 state 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
814 state 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
834 state 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
845 state 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
856 state 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
867 state 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
878 state 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
889 state 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
900 state 75
901         block_statement : '{' $$2 statement_list '}' .  (59)
902
903         .  reduce 59
904
905
906 76: shift/reduce conflict (shift 49, reduce 1) on ID
907 state 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
936 state 77
937         nonempty_formal_arg_list : nonempty_formal_arg_list ',' $$6 formal_arg .  (38)
938
939         .  reduce 38
940
941
942 state 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
960 state 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
978 state 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
989 state 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
1000 state 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
1011 state 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
1019 state 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
1036 state 85
1037         statement : decl .  (49)
1038
1039         .  reduce 49
1040
1041
1042 state 86
1043         statement_list : statement_list $$2 statement .  (58)
1044
1045         .  reduce 58
1046
1047
1048 state 87
1049         statement : $$10 . block_statement  (56)
1050
1051         '{'  shift 39
1052         .  error
1053
1054         block_statement  goto 90
1055
1056
1057 state 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
1067 state 89
1068         statement : expr ';' .  (50)
1069
1070         .  reduce 50
1071
1072
1073 state 90
1074         statement : $$10 block_statement .  (56)
1075
1076         .  reduce 56
1077
1078
1079 state 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
1091 state 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
1109 state 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
1117 state 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
1127 95: shift/reduce conflict (shift 49, reduce 1) on ID
1128 state 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
1158 96: shift/reduce conflict (shift 97, reduce 54) on ELSE
1159 state 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
1179 state 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
1188 98: shift/reduce conflict (shift 49, reduce 1) on ID
1189 state 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
1218 state 99
1219         statement : IF '(' $$6 expr ')' THEN $$8 statement ELSE $$9 statement .  (53)
1220
1221         .  reduce 53
1222
1223
1224 State 12 contains 2 shift/reduce conflicts.
1225 State 23 contains 1 shift/reduce conflict.
1226 State 35 contains 1 shift/reduce conflict.
1227 State 41 contains 1 shift/reduce conflict.
1228 State 43 contains 1 shift/reduce conflict.
1229 State 45 contains 2 shift/reduce conflicts.
1230 State 76 contains 1 shift/reduce conflict.
1231 State 95 contains 1 shift/reduce conflict.
1232 State 96 contains 1 shift/reduce conflict.
1233 State 98 contains 1 shift/reduce conflict.
1234
1235
1236 29 terminals, 29 nonterminals
1237 60 grammar rules, 100 states
1238
1239 grammar parser grammar
1240 symbol# 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