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 |