The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
   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 '+' expr
   8       | expr '-' expr
   9       | expr '*' expr
  10       | expr '/' expr
  11       | expr '%' expr
  12       | expr '&' expr
  13       | expr '|' expr
  14       | '-' 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
	DIGIT  shift 3
	LETTER  shift 4
	'-'  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
	number : DIGIT .  (17)

	.  reduce 17


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

	'='  shift 11
	'|'  reduce 15
	'&'  reduce 15
	'+'  reduce 15
	'-'  reduce 15
	'*'  reduce 15
	'/'  reduce 15
	'%'  reduce 15
	'\n'  reduce 15


state 5
	expr : '-' . expr  (14)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 13
	number  goto 9


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

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  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 . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	'|'  shift 16
	'&'  shift 17
	'+'  shift 18
	'-'  shift 19
	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'\n'  reduce 4


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

	DIGIT  shift 23
	'|'  reduce 16
	'&'  reduce 16
	'+'  reduce 16
	'-'  reduce 16
	'*'  reduce 16
	'/'  reduce 16
	'%'  reduce 16
	'\n'  reduce 16
	')'  reduce 16


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

	.  reduce 3


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

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 24
	number  goto 9


state 12
	expr : LETTER .  (15)

	.  reduce 15


state 13
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)
	expr : '-' expr .  (14)

	.  reduce 14


state 14
	expr : '(' expr . ')'  (6)
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	'|'  shift 16
	'&'  shift 17
	'+'  shift 18
	'-'  shift 19
	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	')'  shift 25
	.  error


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

	.  reduce 2


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

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 26
	number  goto 9


state 17
	expr : expr '&' . expr  (12)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 27
	number  goto 9


state 18
	expr : expr '+' . expr  (7)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 28
	number  goto 9


state 19
	expr : expr '-' . expr  (8)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 29
	number  goto 9


state 20
	expr : expr '*' . expr  (9)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 30
	number  goto 9


state 21
	expr : expr '/' . expr  (10)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  shift 6
	.  error

	expr  goto 31
	number  goto 9


state 22
	expr : expr '%' . expr  (11)

	DIGIT  shift 3
	LETTER  shift 12
	'-'  shift 5
	'('  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 . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	'|'  shift 16
	'&'  shift 17
	'+'  shift 18
	'-'  shift 19
	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'\n'  reduce 5


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

	.  reduce 6


state 26
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)
	expr : expr '|' expr .  (13)

	'&'  shift 17
	'+'  shift 18
	'-'  shift 19
	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'|'  reduce 13
	'\n'  reduce 13
	')'  reduce 13


state 27
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr '&' expr .  (12)
	expr : expr . '|' expr  (13)

	'+'  shift 18
	'-'  shift 19
	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'|'  reduce 12
	'&'  reduce 12
	'\n'  reduce 12
	')'  reduce 12


state 28
	expr : expr . '+' expr  (7)
	expr : expr '+' expr .  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'|'  reduce 7
	'&'  reduce 7
	'+'  reduce 7
	'-'  reduce 7
	'\n'  reduce 7
	')'  reduce 7


state 29
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr '-' expr .  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	'*'  shift 20
	'/'  shift 21
	'%'  shift 22
	'|'  reduce 8
	'&'  reduce 8
	'+'  reduce 8
	'-'  reduce 8
	'\n'  reduce 8
	')'  reduce 8


state 30
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr '*' expr .  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	.  reduce 9


state 31
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr '/' expr .  (10)
	expr : expr . '%' expr  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	.  reduce 10


state 32
	expr : expr . '+' expr  (7)
	expr : expr . '-' expr  (8)
	expr : expr . '*' expr  (9)
	expr : expr . '/' expr  (10)
	expr : expr . '%' expr  (11)
	expr : expr '%' expr .  (11)
	expr : expr . '&' expr  (12)
	expr : expr . '|' expr  (13)

	.  reduce 11


16 terminals, 5 nonterminals
19 grammar rules, 33 states