The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Conflicts:
----------
Conflict in state 11 between rule 13 and token '-' resolved as reduce.
Conflict in state 11 between rule 13 and token '^' resolved as shift.
Conflict in state 11 between rule 13 and token '*' resolved as reduce.
Conflict in state 11 between rule 13 and token '+' resolved as reduce.
Conflict in state 11 between rule 13 and token '/' resolved as reduce.
Conflict in state 21 between rule 10 and token '-' resolved as reduce.
Conflict in state 21 between rule 10 and token '^' resolved as shift.
Conflict in state 21 between rule 10 and token '*' resolved as shift.
Conflict in state 21 between rule 10 and token '+' resolved as reduce.
Conflict in state 21 between rule 10 and token '/' resolved as shift.
Conflict in state 22 between rule 9 and token '-' resolved as reduce.
Conflict in state 22 between rule 9 and token '^' resolved as shift.
Conflict in state 22 between rule 9 and token '*' resolved as shift.
Conflict in state 22 between rule 9 and token '+' resolved as reduce.
Conflict in state 22 between rule 9 and token '/' resolved as shift.
Conflict in state 23 between rule 12 and token '-' resolved as reduce.
Conflict in state 23 between rule 12 and token '^' resolved as shift.
Conflict in state 23 between rule 12 and token '*' resolved as reduce.
Conflict in state 23 between rule 12 and token '+' resolved as reduce.
Conflict in state 23 between rule 12 and token '/' resolved as reduce.
Conflict in state 24 between rule 14 and token '-' resolved as reduce.
Conflict in state 24 between rule 14 and token '^' resolved as shift.
Conflict in state 24 between rule 14 and token '*' resolved as reduce.
Conflict in state 24 between rule 14 and token '+' resolved as reduce.
Conflict in state 24 between rule 14 and token '/' resolved as reduce.
Conflict in state 25 between rule 11 and token '-' resolved as reduce.
Conflict in state 25 between rule 11 and token '^' resolved as shift.
Conflict in state 25 between rule 11 and token '*' resolved as reduce.
Conflict in state 25 between rule 11 and token '+' resolved as reduce.
Conflict in state 25 between rule 11 and token '/' resolved as reduce.
Conflict in state 27 between rule 8 and token '-' resolved as shift.
Conflict in state 27 between rule 8 and token '^' resolved as shift.
Conflict in state 27 between rule 8 and token '*' resolved as shift.
Conflict in state 27 between rule 8 and token '+' resolved as shift.
Conflict in state 27 between rule 8 and token '/' resolved as shift.

Rules:
------
0:	$start -> input $end
1:	input -> /* empty */
2:	input -> input line
3:	line -> '\n'
4:	line -> exp '\n'
5:	line -> error '\n'
6:	exp -> NUM
7:	exp -> VAR
8:	exp -> VAR '=' exp
9:	exp -> exp '+' exp
10:	exp -> exp '-' exp
11:	exp -> exp '*' exp
12:	exp -> exp '/' exp
13:	exp -> '-' exp
14:	exp -> exp '^' exp
15:	exp -> '(' exp ')'

States:
-------
State 0:

	$start -> . input $end	(Rule 0)

	$default	reduce using rule 1 (input)

	input	go to state 1

State 1:

	$start -> input . $end	(Rule 0)
	input -> input . line	(Rule 2)

	$end	shift, and go to state 4
	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	'\n'	shift, and go to state 5
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8
	error	shift, and go to state 9

	exp	go to state 3
	line	go to state 10

State 2:

	exp -> '-' . exp	(Rule 13)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 11

State 3:

	line -> exp . '\n'	(Rule 4)
	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'*'	shift, and go to state 17
	'+'	shift, and go to state 13
	'-'	shift, and go to state 12
	'/'	shift, and go to state 15
	'\n'	shift, and go to state 14
	'^'	shift, and go to state 16

State 4:

	$start -> input $end .	(Rule 0)

	$default	accept

State 5:

	line -> '\n' .	(Rule 3)

	$default	reduce using rule 3 (line)

State 6:

	exp -> NUM .	(Rule 6)

	$default	reduce using rule 6 (exp)

State 7:

	exp -> '(' . exp ')'	(Rule 15)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 18

State 8:

	exp -> VAR .	(Rule 7)
	exp -> VAR . '=' exp	(Rule 8)

	'='	shift, and go to state 19

	$default	reduce using rule 7 (exp)

State 9:

	line -> error . '\n'	(Rule 5)

	'\n'	shift, and go to state 20

State 10:

	input -> input line .	(Rule 2)

	$default	reduce using rule 2 (input)

State 11:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> '-' exp .	(Rule 13)
	exp -> exp . '^' exp	(Rule 14)

	'^'	shift, and go to state 16

	$default	reduce using rule 13 (exp)

State 12:

	exp -> exp '-' . exp	(Rule 10)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 21

State 13:

	exp -> exp '+' . exp	(Rule 9)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 22

State 14:

	line -> exp '\n' .	(Rule 4)

	$default	reduce using rule 4 (line)

State 15:

	exp -> exp '/' . exp	(Rule 12)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 23

State 16:

	exp -> exp '^' . exp	(Rule 14)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 24

State 17:

	exp -> exp '*' . exp	(Rule 11)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 25

State 18:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)
	exp -> '(' exp . ')'	(Rule 15)

	')'	shift, and go to state 26
	'*'	shift, and go to state 17
	'+'	shift, and go to state 13
	'-'	shift, and go to state 12
	'/'	shift, and go to state 15
	'^'	shift, and go to state 16

State 19:

	exp -> VAR '=' . exp	(Rule 8)

	'('	shift, and go to state 7
	'-'	shift, and go to state 2
	NUM	shift, and go to state 6
	VAR	shift, and go to state 8

	exp	go to state 27

State 20:

	line -> error '\n' .	(Rule 5)

	$default	reduce using rule 5 (line)

State 21:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp '-' exp .	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'*'	shift, and go to state 17
	'/'	shift, and go to state 15
	'^'	shift, and go to state 16

	$default	reduce using rule 10 (exp)

State 22:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp '+' exp .	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'*'	shift, and go to state 17
	'/'	shift, and go to state 15
	'^'	shift, and go to state 16

	$default	reduce using rule 9 (exp)

State 23:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp '/' exp .	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'^'	shift, and go to state 16

	$default	reduce using rule 12 (exp)

State 24:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)
	exp -> exp '^' exp .	(Rule 14)

	'^'	shift, and go to state 16

	$default	reduce using rule 14 (exp)

State 25:

	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp '*' exp .	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'^'	shift, and go to state 16

	$default	reduce using rule 11 (exp)

State 26:

	exp -> '(' exp ')' .	(Rule 15)

	$default	reduce using rule 15 (exp)

State 27:

	exp -> VAR '=' exp .	(Rule 8)
	exp -> exp . '+' exp	(Rule 9)
	exp -> exp . '-' exp	(Rule 10)
	exp -> exp . '*' exp	(Rule 11)
	exp -> exp . '/' exp	(Rule 12)
	exp -> exp . '^' exp	(Rule 14)

	'*'	shift, and go to state 17
	'+'	shift, and go to state 13
	'-'	shift, and go to state 12
	'/'	shift, and go to state 15
	'^'	shift, and go to state 16

	$default	reduce using rule 8 (exp)


Summary:
--------
Number of rules         : 16
Number of terminals     : 14
Number of non-terminals : 4
Number of states        : 28