0  $accept : list $end

   1  list :
   2       | list stat '\n'
   3       | list error '\n'

   4  stat : expr
   5       | LETTER '=' expr

   6  expr : '(' expr ')'
   7       | expr OP_ADD expr
   8       | expr OP_SUB expr
   9       | expr OP_MUL expr
  10       | expr OP_DIV expr
  11       | expr OP_MOD expr
  12       | expr OP_AND expr
  13       | expr '|' expr
  14       | OP_SUB expr
  15       | LETTER
  16       | number

  17  number : DIGIT
  18         | number DIGIT

state 0
	$accept : . list $end  (0)
	list : .  (1)

	.  reduce 1

	list  goto 1


state 1
	$accept : list . $end  (0)
	list : list . stat '\n'  (2)
	list : list . error '\n'  (3)

	$end  accept
	error  shift 2
	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 5
	'('  shift 6
	.  error

	stat  goto 7
	expr  goto 8
	number  goto 9


state 2
	list : list error . '\n'  (3)

	'\n'  shift 10
	.  error


state 3
	expr : OP_SUB . expr  (14)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 12
	number  goto 9


state 4
	number : DIGIT .  (17)

	.  reduce 17


state 5
	stat : LETTER . '=' expr  (5)
	expr : LETTER .  (15)

	'='  shift 13
	OP_ADD  reduce 15
	OP_SUB  reduce 15
	OP_MUL  reduce 15
	OP_DIV  reduce 15
	OP_MOD  reduce 15
	OP_AND  reduce 15
	'|'  reduce 15
	'\n'  reduce 15


state 6
	expr : '(' . expr ')'  (6)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 14
	number  goto 9


state 7
	list : list stat . '\n'  (2)

	'\n'  shift 15
	.  error


state 8
	stat : expr .  (4)
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 4


state 9
	expr : number .  (16)
	number : number . DIGIT  (18)

	DIGIT  shift 23
	OP_ADD  reduce 16
	OP_SUB  reduce 16
	OP_MUL  reduce 16
	OP_DIV  reduce 16
	OP_MOD  reduce 16
	OP_AND  reduce 16
	'|'  reduce 16
	'\n'  reduce 16
	')'  reduce 16


state 10
	list : list error '\n' .  (3)

	.  reduce 3


state 11
	expr : LETTER .  (15)

	.  reduce 15


12: shift/reduce conflict (shift 16, reduce 14) on OP_ADD
12: shift/reduce conflict (shift 17, reduce 14) on OP_SUB
12: shift/reduce conflict (shift 18, reduce 14) on OP_MUL
12: shift/reduce conflict (shift 19, reduce 14) on OP_DIV
12: shift/reduce conflict (shift 20, reduce 14) on OP_MOD
12: shift/reduce conflict (shift 21, reduce 14) on OP_AND
state 12
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)
	expr : OP_SUB expr .  (14)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  reduce 14
	'\n'  reduce 14
	')'  reduce 14


state 13
	stat : LETTER '=' . expr  (5)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 24
	number  goto 9


state 14
	expr : '(' expr . ')'  (6)
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	')'  shift 25
	.  error


state 15
	list : list stat '\n' .  (2)

	.  reduce 2


state 16
	expr : expr OP_ADD . expr  (7)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 26
	number  goto 9


state 17
	expr : expr OP_SUB . expr  (8)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 27
	number  goto 9


state 18
	expr : expr OP_MUL . expr  (9)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 28
	number  goto 9


state 19
	expr : expr OP_DIV . expr  (10)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 29
	number  goto 9


state 20
	expr : expr OP_MOD . expr  (11)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 30
	number  goto 9


state 21
	expr : expr OP_AND . expr  (12)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 31
	number  goto 9


state 22
	expr : expr '|' . expr  (13)

	OP_SUB  shift 3
	DIGIT  shift 4
	LETTER  shift 11
	'('  shift 6
	.  error

	expr  goto 32
	number  goto 9


state 23
	number : number DIGIT .  (18)

	.  reduce 18


state 24
	stat : LETTER '=' expr .  (5)
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 5


state 25
	expr : '(' expr ')' .  (6)

	.  reduce 6


26: shift/reduce conflict (shift 16, reduce 7) on OP_ADD
26: shift/reduce conflict (shift 17, reduce 7) on OP_SUB
26: shift/reduce conflict (shift 18, reduce 7) on OP_MUL
26: shift/reduce conflict (shift 19, reduce 7) on OP_DIV
26: shift/reduce conflict (shift 20, reduce 7) on OP_MOD
26: shift/reduce conflict (shift 21, reduce 7) on OP_AND
26: shift/reduce conflict (shift 22, reduce 7) on '|'
state 26
	expr : expr . OP_ADD expr  (7)
	expr : expr OP_ADD expr .  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 7
	')'  reduce 7


27: shift/reduce conflict (shift 16, reduce 8) on OP_ADD
27: shift/reduce conflict (shift 17, reduce 8) on OP_SUB
27: shift/reduce conflict (shift 18, reduce 8) on OP_MUL
27: shift/reduce conflict (shift 19, reduce 8) on OP_DIV
27: shift/reduce conflict (shift 20, reduce 8) on OP_MOD
27: shift/reduce conflict (shift 21, reduce 8) on OP_AND
27: shift/reduce conflict (shift 22, reduce 8) on '|'
state 27
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr OP_SUB expr .  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 8
	')'  reduce 8


28: shift/reduce conflict (shift 16, reduce 9) on OP_ADD
28: shift/reduce conflict (shift 17, reduce 9) on OP_SUB
28: shift/reduce conflict (shift 18, reduce 9) on OP_MUL
28: shift/reduce conflict (shift 19, reduce 9) on OP_DIV
28: shift/reduce conflict (shift 20, reduce 9) on OP_MOD
28: shift/reduce conflict (shift 21, reduce 9) on OP_AND
28: shift/reduce conflict (shift 22, reduce 9) on '|'
state 28
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr OP_MUL expr .  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 9
	')'  reduce 9


29: shift/reduce conflict (shift 16, reduce 10) on OP_ADD
29: shift/reduce conflict (shift 17, reduce 10) on OP_SUB
29: shift/reduce conflict (shift 18, reduce 10) on OP_MUL
29: shift/reduce conflict (shift 19, reduce 10) on OP_DIV
29: shift/reduce conflict (shift 20, reduce 10) on OP_MOD
29: shift/reduce conflict (shift 21, reduce 10) on OP_AND
29: shift/reduce conflict (shift 22, reduce 10) on '|'
state 29
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr OP_DIV expr .  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 10
	')'  reduce 10


30: shift/reduce conflict (shift 16, reduce 11) on OP_ADD
30: shift/reduce conflict (shift 17, reduce 11) on OP_SUB
30: shift/reduce conflict (shift 18, reduce 11) on OP_MUL
30: shift/reduce conflict (shift 19, reduce 11) on OP_DIV
30: shift/reduce conflict (shift 20, reduce 11) on OP_MOD
30: shift/reduce conflict (shift 21, reduce 11) on OP_AND
30: shift/reduce conflict (shift 22, reduce 11) on '|'
state 30
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr OP_MOD expr .  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 11
	')'  reduce 11


31: shift/reduce conflict (shift 16, reduce 12) on OP_ADD
31: shift/reduce conflict (shift 17, reduce 12) on OP_SUB
31: shift/reduce conflict (shift 18, reduce 12) on OP_MUL
31: shift/reduce conflict (shift 19, reduce 12) on OP_DIV
31: shift/reduce conflict (shift 20, reduce 12) on OP_MOD
31: shift/reduce conflict (shift 21, reduce 12) on OP_AND
31: shift/reduce conflict (shift 22, reduce 12) on '|'
state 31
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr OP_AND expr .  (12)
	expr : expr . '|' expr  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  shift 22
	'\n'  reduce 12
	')'  reduce 12


32: shift/reduce conflict (shift 16, reduce 13) on OP_ADD
32: shift/reduce conflict (shift 17, reduce 13) on OP_SUB
32: shift/reduce conflict (shift 18, reduce 13) on OP_MUL
32: shift/reduce conflict (shift 19, reduce 13) on OP_DIV
32: shift/reduce conflict (shift 20, reduce 13) on OP_MOD
32: shift/reduce conflict (shift 21, reduce 13) on OP_AND
state 32
	expr : expr . OP_ADD expr  (7)
	expr : expr . OP_SUB expr  (8)
	expr : expr . OP_MUL expr  (9)
	expr : expr . OP_DIV expr  (10)
	expr : expr . OP_MOD expr  (11)
	expr : expr . OP_AND expr  (12)
	expr : expr . '|' expr  (13)
	expr : expr '|' expr .  (13)

	OP_ADD  shift 16
	OP_SUB  shift 17
	OP_MUL  shift 18
	OP_DIV  shift 19
	OP_MOD  shift 20
	OP_AND  shift 21
	'|'  reduce 13
	'\n'  reduce 13
	')'  reduce 13


State 12 contains 6 shift/reduce conflicts.
State 26 contains 7 shift/reduce conflicts.
State 27 contains 7 shift/reduce conflicts.
State 28 contains 7 shift/reduce conflicts.
State 29 contains 7 shift/reduce conflicts.
State 30 contains 7 shift/reduce conflicts.
State 31 contains 7 shift/reduce conflicts.
State 32 contains 6 shift/reduce conflicts.


28 terminals, 5 nonterminals
19 grammar rules, 33 states