1   0  $accept : list $end
2
3   1  list :
4   2       | list stat '\n'
5   3       | list error '\n'
6
7   4  stat : expr
8   5       | LETTER '=' expr
9
10   6  expr : '(' expr ')'
11   7       | expr "ADD" expr
12   8       | expr "SUB" expr
13   9       | expr "MUL" expr
14  10       | expr "DIV" expr
15  11       | expr "MOD" expr
16  12       | expr "AND" expr
17  13       | expr '|' expr
18  14       | "SUB" expr
19  15       | LETTER
20  16       | number
21
22  17  number : DIGIT
23  18         | number DIGIT
24
25state 0
26	$accept : . list $end  (0)
27	list : .  (1)
28
29	.  reduce 1
30
31	list  goto 1
32
33
34state 1
35	$accept : list . $end  (0)
36	list : list . stat '\n'  (2)
37	list : list . error '\n'  (3)
38
39	$end  accept
40	error  shift 2
41	"SUB"  shift 3
42	DIGIT  shift 4
43	LETTER  shift 5
44	'('  shift 6
45	.  error
46
47	stat  goto 7
48	expr  goto 8
49	number  goto 9
50
51
52state 2
53	list : list error . '\n'  (3)
54
55	'\n'  shift 10
56	.  error
57
58
59state 3
60	expr : "SUB" . expr  (14)
61
62	"SUB"  shift 3
63	DIGIT  shift 4
64	LETTER  shift 11
65	'('  shift 6
66	.  error
67
68	expr  goto 12
69	number  goto 9
70
71
72state 4
73	number : DIGIT .  (17)
74
75	.  reduce 17
76
77
78state 5
79	stat : LETTER . '=' expr  (5)
80	expr : LETTER .  (15)
81
82	'='  shift 13
83	"ADD"  reduce 15
84	"SUB"  reduce 15
85	"MUL"  reduce 15
86	"DIV"  reduce 15
87	"MOD"  reduce 15
88	"AND"  reduce 15
89	'|'  reduce 15
90	'\n'  reduce 15
91
92
93state 6
94	expr : '(' . expr ')'  (6)
95
96	"SUB"  shift 3
97	DIGIT  shift 4
98	LETTER  shift 11
99	'('  shift 6
100	.  error
101
102	expr  goto 14
103	number  goto 9
104
105
106state 7
107	list : list stat . '\n'  (2)
108
109	'\n'  shift 15
110	.  error
111
112
113state 8
114	stat : expr .  (4)
115	expr : expr . "ADD" expr  (7)
116	expr : expr . "SUB" expr  (8)
117	expr : expr . "MUL" expr  (9)
118	expr : expr . "DIV" expr  (10)
119	expr : expr . "MOD" expr  (11)
120	expr : expr . "AND" expr  (12)
121	expr : expr . '|' expr  (13)
122
123	"ADD"  shift 16
124	"SUB"  shift 17
125	"MUL"  shift 18
126	"DIV"  shift 19
127	"MOD"  shift 20
128	"AND"  shift 21
129	'|'  shift 22
130	'\n'  reduce 4
131
132
133state 9
134	expr : number .  (16)
135	number : number . DIGIT  (18)
136
137	DIGIT  shift 23
138	"ADD"  reduce 16
139	"SUB"  reduce 16
140	"MUL"  reduce 16
141	"DIV"  reduce 16
142	"MOD"  reduce 16
143	"AND"  reduce 16
144	'|'  reduce 16
145	'\n'  reduce 16
146	')'  reduce 16
147
148
149state 10
150	list : list error '\n' .  (3)
151
152	.  reduce 3
153
154
155state 11
156	expr : LETTER .  (15)
157
158	.  reduce 15
159
160
16112: shift/reduce conflict (shift 16, reduce 14) on "ADD"
16212: shift/reduce conflict (shift 17, reduce 14) on "SUB"
16312: shift/reduce conflict (shift 18, reduce 14) on "MUL"
16412: shift/reduce conflict (shift 19, reduce 14) on "DIV"
16512: shift/reduce conflict (shift 20, reduce 14) on "MOD"
16612: shift/reduce conflict (shift 21, reduce 14) on "AND"
167state 12
168	expr : expr . "ADD" expr  (7)
169	expr : expr . "SUB" expr  (8)
170	expr : expr . "MUL" expr  (9)
171	expr : expr . "DIV" expr  (10)
172	expr : expr . "MOD" expr  (11)
173	expr : expr . "AND" expr  (12)
174	expr : expr . '|' expr  (13)
175	expr : "SUB" expr .  (14)
176
177	"ADD"  shift 16
178	"SUB"  shift 17
179	"MUL"  shift 18
180	"DIV"  shift 19
181	"MOD"  shift 20
182	"AND"  shift 21
183	'|'  reduce 14
184	'\n'  reduce 14
185	')'  reduce 14
186
187
188state 13
189	stat : LETTER '=' . expr  (5)
190
191	"SUB"  shift 3
192	DIGIT  shift 4
193	LETTER  shift 11
194	'('  shift 6
195	.  error
196
197	expr  goto 24
198	number  goto 9
199
200
201state 14
202	expr : '(' expr . ')'  (6)
203	expr : expr . "ADD" expr  (7)
204	expr : expr . "SUB" expr  (8)
205	expr : expr . "MUL" expr  (9)
206	expr : expr . "DIV" expr  (10)
207	expr : expr . "MOD" expr  (11)
208	expr : expr . "AND" expr  (12)
209	expr : expr . '|' expr  (13)
210
211	"ADD"  shift 16
212	"SUB"  shift 17
213	"MUL"  shift 18
214	"DIV"  shift 19
215	"MOD"  shift 20
216	"AND"  shift 21
217	'|'  shift 22
218	')'  shift 25
219	.  error
220
221
222state 15
223	list : list stat '\n' .  (2)
224
225	.  reduce 2
226
227
228state 16
229	expr : expr "ADD" . expr  (7)
230
231	"SUB"  shift 3
232	DIGIT  shift 4
233	LETTER  shift 11
234	'('  shift 6
235	.  error
236
237	expr  goto 26
238	number  goto 9
239
240
241state 17
242	expr : expr "SUB" . expr  (8)
243
244	"SUB"  shift 3
245	DIGIT  shift 4
246	LETTER  shift 11
247	'('  shift 6
248	.  error
249
250	expr  goto 27
251	number  goto 9
252
253
254state 18
255	expr : expr "MUL" . expr  (9)
256
257	"SUB"  shift 3
258	DIGIT  shift 4
259	LETTER  shift 11
260	'('  shift 6
261	.  error
262
263	expr  goto 28
264	number  goto 9
265
266
267state 19
268	expr : expr "DIV" . expr  (10)
269
270	"SUB"  shift 3
271	DIGIT  shift 4
272	LETTER  shift 11
273	'('  shift 6
274	.  error
275
276	expr  goto 29
277	number  goto 9
278
279
280state 20
281	expr : expr "MOD" . expr  (11)
282
283	"SUB"  shift 3
284	DIGIT  shift 4
285	LETTER  shift 11
286	'('  shift 6
287	.  error
288
289	expr  goto 30
290	number  goto 9
291
292
293state 21
294	expr : expr "AND" . expr  (12)
295
296	"SUB"  shift 3
297	DIGIT  shift 4
298	LETTER  shift 11
299	'('  shift 6
300	.  error
301
302	expr  goto 31
303	number  goto 9
304
305
306state 22
307	expr : expr '|' . expr  (13)
308
309	"SUB"  shift 3
310	DIGIT  shift 4
311	LETTER  shift 11
312	'('  shift 6
313	.  error
314
315	expr  goto 32
316	number  goto 9
317
318
319state 23
320	number : number DIGIT .  (18)
321
322	.  reduce 18
323
324
325state 24
326	stat : LETTER '=' expr .  (5)
327	expr : expr . "ADD" expr  (7)
328	expr : expr . "SUB" expr  (8)
329	expr : expr . "MUL" expr  (9)
330	expr : expr . "DIV" expr  (10)
331	expr : expr . "MOD" expr  (11)
332	expr : expr . "AND" expr  (12)
333	expr : expr . '|' expr  (13)
334
335	"ADD"  shift 16
336	"SUB"  shift 17
337	"MUL"  shift 18
338	"DIV"  shift 19
339	"MOD"  shift 20
340	"AND"  shift 21
341	'|'  shift 22
342	'\n'  reduce 5
343
344
345state 25
346	expr : '(' expr ')' .  (6)
347
348	.  reduce 6
349
350
35126: shift/reduce conflict (shift 16, reduce 7) on "ADD"
35226: shift/reduce conflict (shift 17, reduce 7) on "SUB"
35326: shift/reduce conflict (shift 18, reduce 7) on "MUL"
35426: shift/reduce conflict (shift 19, reduce 7) on "DIV"
35526: shift/reduce conflict (shift 20, reduce 7) on "MOD"
35626: shift/reduce conflict (shift 21, reduce 7) on "AND"
35726: shift/reduce conflict (shift 22, reduce 7) on '|'
358state 26
359	expr : expr . "ADD" expr  (7)
360	expr : expr "ADD" expr .  (7)
361	expr : expr . "SUB" expr  (8)
362	expr : expr . "MUL" expr  (9)
363	expr : expr . "DIV" expr  (10)
364	expr : expr . "MOD" expr  (11)
365	expr : expr . "AND" expr  (12)
366	expr : expr . '|' expr  (13)
367
368	"ADD"  shift 16
369	"SUB"  shift 17
370	"MUL"  shift 18
371	"DIV"  shift 19
372	"MOD"  shift 20
373	"AND"  shift 21
374	'|'  shift 22
375	'\n'  reduce 7
376	')'  reduce 7
377
378
37927: shift/reduce conflict (shift 16, reduce 8) on "ADD"
38027: shift/reduce conflict (shift 17, reduce 8) on "SUB"
38127: shift/reduce conflict (shift 18, reduce 8) on "MUL"
38227: shift/reduce conflict (shift 19, reduce 8) on "DIV"
38327: shift/reduce conflict (shift 20, reduce 8) on "MOD"
38427: shift/reduce conflict (shift 21, reduce 8) on "AND"
38527: shift/reduce conflict (shift 22, reduce 8) on '|'
386state 27
387	expr : expr . "ADD" expr  (7)
388	expr : expr . "SUB" expr  (8)
389	expr : expr "SUB" expr .  (8)
390	expr : expr . "MUL" expr  (9)
391	expr : expr . "DIV" expr  (10)
392	expr : expr . "MOD" expr  (11)
393	expr : expr . "AND" expr  (12)
394	expr : expr . '|' expr  (13)
395
396	"ADD"  shift 16
397	"SUB"  shift 17
398	"MUL"  shift 18
399	"DIV"  shift 19
400	"MOD"  shift 20
401	"AND"  shift 21
402	'|'  shift 22
403	'\n'  reduce 8
404	')'  reduce 8
405
406
40728: shift/reduce conflict (shift 16, reduce 9) on "ADD"
40828: shift/reduce conflict (shift 17, reduce 9) on "SUB"
40928: shift/reduce conflict (shift 18, reduce 9) on "MUL"
41028: shift/reduce conflict (shift 19, reduce 9) on "DIV"
41128: shift/reduce conflict (shift 20, reduce 9) on "MOD"
41228: shift/reduce conflict (shift 21, reduce 9) on "AND"
41328: shift/reduce conflict (shift 22, reduce 9) on '|'
414state 28
415	expr : expr . "ADD" expr  (7)
416	expr : expr . "SUB" expr  (8)
417	expr : expr . "MUL" expr  (9)
418	expr : expr "MUL" expr .  (9)
419	expr : expr . "DIV" expr  (10)
420	expr : expr . "MOD" expr  (11)
421	expr : expr . "AND" expr  (12)
422	expr : expr . '|' expr  (13)
423
424	"ADD"  shift 16
425	"SUB"  shift 17
426	"MUL"  shift 18
427	"DIV"  shift 19
428	"MOD"  shift 20
429	"AND"  shift 21
430	'|'  shift 22
431	'\n'  reduce 9
432	')'  reduce 9
433
434
43529: shift/reduce conflict (shift 16, reduce 10) on "ADD"
43629: shift/reduce conflict (shift 17, reduce 10) on "SUB"
43729: shift/reduce conflict (shift 18, reduce 10) on "MUL"
43829: shift/reduce conflict (shift 19, reduce 10) on "DIV"
43929: shift/reduce conflict (shift 20, reduce 10) on "MOD"
44029: shift/reduce conflict (shift 21, reduce 10) on "AND"
44129: shift/reduce conflict (shift 22, reduce 10) on '|'
442state 29
443	expr : expr . "ADD" expr  (7)
444	expr : expr . "SUB" expr  (8)
445	expr : expr . "MUL" expr  (9)
446	expr : expr . "DIV" expr  (10)
447	expr : expr "DIV" expr .  (10)
448	expr : expr . "MOD" expr  (11)
449	expr : expr . "AND" expr  (12)
450	expr : expr . '|' expr  (13)
451
452	"ADD"  shift 16
453	"SUB"  shift 17
454	"MUL"  shift 18
455	"DIV"  shift 19
456	"MOD"  shift 20
457	"AND"  shift 21
458	'|'  shift 22
459	'\n'  reduce 10
460	')'  reduce 10
461
462
46330: shift/reduce conflict (shift 16, reduce 11) on "ADD"
46430: shift/reduce conflict (shift 17, reduce 11) on "SUB"
46530: shift/reduce conflict (shift 18, reduce 11) on "MUL"
46630: shift/reduce conflict (shift 19, reduce 11) on "DIV"
46730: shift/reduce conflict (shift 20, reduce 11) on "MOD"
46830: shift/reduce conflict (shift 21, reduce 11) on "AND"
46930: shift/reduce conflict (shift 22, reduce 11) on '|'
470state 30
471	expr : expr . "ADD" expr  (7)
472	expr : expr . "SUB" expr  (8)
473	expr : expr . "MUL" expr  (9)
474	expr : expr . "DIV" expr  (10)
475	expr : expr . "MOD" expr  (11)
476	expr : expr "MOD" expr .  (11)
477	expr : expr . "AND" expr  (12)
478	expr : expr . '|' expr  (13)
479
480	"ADD"  shift 16
481	"SUB"  shift 17
482	"MUL"  shift 18
483	"DIV"  shift 19
484	"MOD"  shift 20
485	"AND"  shift 21
486	'|'  shift 22
487	'\n'  reduce 11
488	')'  reduce 11
489
490
49131: shift/reduce conflict (shift 16, reduce 12) on "ADD"
49231: shift/reduce conflict (shift 17, reduce 12) on "SUB"
49331: shift/reduce conflict (shift 18, reduce 12) on "MUL"
49431: shift/reduce conflict (shift 19, reduce 12) on "DIV"
49531: shift/reduce conflict (shift 20, reduce 12) on "MOD"
49631: shift/reduce conflict (shift 21, reduce 12) on "AND"
49731: shift/reduce conflict (shift 22, reduce 12) on '|'
498state 31
499	expr : expr . "ADD" expr  (7)
500	expr : expr . "SUB" expr  (8)
501	expr : expr . "MUL" expr  (9)
502	expr : expr . "DIV" expr  (10)
503	expr : expr . "MOD" expr  (11)
504	expr : expr . "AND" expr  (12)
505	expr : expr "AND" expr .  (12)
506	expr : expr . '|' expr  (13)
507
508	"ADD"  shift 16
509	"SUB"  shift 17
510	"MUL"  shift 18
511	"DIV"  shift 19
512	"MOD"  shift 20
513	"AND"  shift 21
514	'|'  shift 22
515	'\n'  reduce 12
516	')'  reduce 12
517
518
51932: shift/reduce conflict (shift 16, reduce 13) on "ADD"
52032: shift/reduce conflict (shift 17, reduce 13) on "SUB"
52132: shift/reduce conflict (shift 18, reduce 13) on "MUL"
52232: shift/reduce conflict (shift 19, reduce 13) on "DIV"
52332: shift/reduce conflict (shift 20, reduce 13) on "MOD"
52432: shift/reduce conflict (shift 21, reduce 13) on "AND"
525state 32
526	expr : expr . "ADD" expr  (7)
527	expr : expr . "SUB" expr  (8)
528	expr : expr . "MUL" expr  (9)
529	expr : expr . "DIV" expr  (10)
530	expr : expr . "MOD" expr  (11)
531	expr : expr . "AND" expr  (12)
532	expr : expr . '|' expr  (13)
533	expr : expr '|' expr .  (13)
534
535	"ADD"  shift 16
536	"SUB"  shift 17
537	"MUL"  shift 18
538	"DIV"  shift 19
539	"MOD"  shift 20
540	"AND"  shift 21
541	'|'  reduce 13
542	'\n'  reduce 13
543	')'  reduce 13
544
545
546State 12 contains 6 shift/reduce conflicts.
547State 26 contains 7 shift/reduce conflicts.
548State 27 contains 7 shift/reduce conflicts.
549State 28 contains 7 shift/reduce conflicts.
550State 29 contains 7 shift/reduce conflicts.
551State 30 contains 7 shift/reduce conflicts.
552State 31 contains 7 shift/reduce conflicts.
553State 32 contains 6 shift/reduce conflicts.
554
555
55628 terminals, 5 nonterminals
55719 grammar rules, 33 states
558
559grammar parser grammar
560symbol# value# symbol
561     0      0  $end
562     1    256  error
563     2    257  OP_ADD
564     3    258  "ADD"
565     4    259  OP_SUB
566     5    260  "SUB"
567     6    261  OP_MUL
568     7    262  "MUL"
569     8    263  OP_DIV
570     9    264  "DIV"
571    10    265  OP_MOD
572    11    266  "MOD"
573    12    267  OP_AND
574    13    268  "AND"
575    14    269  DIGIT
576    15    270  LETTER
577    16    124  '|'
578    17     38  '&'
579    18     43  '+'
580    19     45  '-'
581    20     42  '*'
582    21     47  '/'
583    22     37  '%'
584    23    271  UMINUS
585    24     10  '\n'
586    25     61  '='
587    26     40  '('
588    27     41  ')'
589    28    272  $accept
590    29    273  list
591    30    274  stat
592    31    275  expr
593    32    276  number
594