Index |
Head |
::= |
Handle |
0 |
<Statements> |
::= |
<Statement> <Statements> |
1 |
<Statements> |
::= |
<Statement> |
2 |
<Statement> |
::= |
display <Expression> |
3 |
<Statement> |
::= |
display <Expression> read Id |
4 |
<Statement> |
::= |
assign Id '=' <Expression> |
5 |
<Statement> |
::= |
while <Expression> do <Statements> end |
6 |
<Statement> |
::= |
if <Expression> then <Statements> end |
7 |
<Statement> |
::= |
if <Expression> then <Statements> else <Statements> end |
8 |
<Expression> |
::= |
<Expression> '>' <Add Exp> |
9 |
<Expression> |
::= |
<Expression> '<' <Add Exp> |
10 |
<Expression> |
::= |
<Expression> '<=' <Add Exp> |
11 |
<Expression> |
::= |
<Expression> '>=' <Add Exp> |
12 |
<Expression> |
::= |
<Expression> '==' <Add Exp> |
13 |
<Expression> |
::= |
<Expression> '<>' <Add Exp> |
14 |
<Expression> |
::= |
<Add Exp> |
15 |
<Add Exp> |
::= |
<Add Exp> '+' <Mult Exp> |
16 |
<Add Exp> |
::= |
<Add Exp> '-' <Mult Exp> |
17 |
<Add Exp> |
::= |
<Add Exp> '&' <Mult Exp> |
18 |
<Add Exp> |
::= |
<Mult Exp> |
19 |
<Mult Exp> |
::= |
<Mult Exp> '*' <Negate Exp> |
20 |
<Mult Exp> |
::= |
<Mult Exp> '/' <Negate Exp> |
21 |
<Mult Exp> |
::= |
<Negate Exp> |
22 |
<Negate Exp> |
::= |
'-' <Value> |
23 |
<Negate Exp> |
::= |
<Value> |
24 |
<Value> |
::= |
Id |
25 |
<Value> |
::= |
StringLiteral |
26 |
<Value> |
::= |
NumberLiteral |
27 |
<Value> |
::= |
'(' <Expression> ')' |
LALR State 0 |
Configuration |
Lookahead |
<S'> ::= · <Statements> (EOF) |
|
<Statements> ::= · <Statement> <Statements> |
EOF |
<Statements> ::= · <Statement> |
EOF |
<Statement> ::= · display <Expression> |
EOF assign display if while |
<Statement> ::= · display <Expression> read Id |
EOF assign display if while |
<Statement> ::= · assign Id '=' <Expression> |
EOF assign display if while |
<Statement> ::= · while <Expression> do <Statements> end |
EOF assign display if while |
<Statement> ::= · if <Expression> then <Statements> end |
EOF assign display if while |
<Statement> ::= · if <Expression> then <Statements> else <Statements> end |
EOF assign display if while |
Actions |
assign Shift to State 1 |
display Shift to State 2 |
if Shift to State 3 |
while Shift to State 4 |
<Statement> Go to State 5 |
<Statements> Go to State 6 |
LALR State 2 |
Configuration |
Lookahead |
<Statement> ::= display · <Expression> |
EOF assign display else end if while |
<Statement> ::= display · <Expression> read Id |
EOF assign display else end if while |
<Expression> ::= · <Expression> '>' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Expression> '<' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Expression> '<=' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Expression> '>=' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Expression> '==' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Expression> '<>' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= · <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if read while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if read while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if read while |
<Add Exp> ::= · <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if read while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Negate Exp> ::= · '-' <Value> |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Negate Exp> ::= · <Value> |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Value> ::= · Id |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Value> ::= · StringLiteral |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Value> ::= · NumberLiteral |
EOF - & * / + < <= <> == > >= assign display else end if read while |
<Value> ::= · '(' <Expression> ')' |
EOF - & * / + < <= <> == > >= assign display else end if read while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 13 |
<Expression> Go to State 14 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
0 5 36 37 54 |
LALR State 3 |
Configuration |
Lookahead |
<Statement> ::= if · <Expression> then <Statements> end |
EOF assign display else end if while |
<Statement> ::= if · <Expression> then <Statements> else <Statements> end |
EOF assign display else end if while |
<Expression> ::= · <Expression> '>' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Expression> '<' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Expression> '<=' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Expression> '>=' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Expression> '==' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Expression> '<>' <Add Exp> |
< <= <> == > >= then |
<Expression> ::= · <Add Exp> |
< <= <> == > >= then |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
- & + < <= <> == > >= then |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
- & + < <= <> == > >= then |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
- & + < <= <> == > >= then |
<Add Exp> ::= · <Mult Exp> |
- & + < <= <> == > >= then |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
- & * / + < <= <> == > >= then |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
- & * / + < <= <> == > >= then |
<Mult Exp> ::= · <Negate Exp> |
- & * / + < <= <> == > >= then |
<Negate Exp> ::= · '-' <Value> |
- & * / + < <= <> == > >= then |
<Negate Exp> ::= · <Value> |
- & * / + < <= <> == > >= then |
<Value> ::= · Id |
- & * / + < <= <> == > >= then |
<Value> ::= · StringLiteral |
- & * / + < <= <> == > >= then |
<Value> ::= · NumberLiteral |
- & * / + < <= <> == > >= then |
<Value> ::= · '(' <Expression> ')' |
- & * / + < <= <> == > >= then |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 13 |
<Expression> Go to State 18 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
0 5 36 37 54 |
LALR State 4 |
Configuration |
Lookahead |
<Statement> ::= while · <Expression> do <Statements> end |
EOF assign display else end if while |
<Expression> ::= · <Expression> '>' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Expression> '<' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Expression> '<=' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Expression> '>=' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Expression> '==' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Expression> '<>' <Add Exp> |
< <= <> == > >= do |
<Expression> ::= · <Add Exp> |
< <= <> == > >= do |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
- & + < <= <> == > >= do |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
- & + < <= <> == > >= do |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
- & + < <= <> == > >= do |
<Add Exp> ::= · <Mult Exp> |
- & + < <= <> == > >= do |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
- & * / + < <= <> == > >= do |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
- & * / + < <= <> == > >= do |
<Mult Exp> ::= · <Negate Exp> |
- & * / + < <= <> == > >= do |
<Negate Exp> ::= · '-' <Value> |
- & * / + < <= <> == > >= do |
<Negate Exp> ::= · <Value> |
- & * / + < <= <> == > >= do |
<Value> ::= · Id |
- & * / + < <= <> == > >= do |
<Value> ::= · StringLiteral |
- & * / + < <= <> == > >= do |
<Value> ::= · NumberLiteral |
- & * / + < <= <> == > >= do |
<Value> ::= · '(' <Expression> ')' |
- & * / + < <= <> == > >= do |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 13 |
<Expression> Go to State 19 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
0 5 36 37 54 |
LALR State 5 |
Configuration |
Lookahead |
<Statements> ::= <Statement> · <Statements> |
EOF else end |
<Statements> ::= <Statement> · |
EOF else end |
<Statements> ::= · <Statement> <Statements> |
EOF else end |
<Statements> ::= · <Statement> |
EOF else end |
<Statement> ::= · display <Expression> |
EOF assign display else end if while |
<Statement> ::= · display <Expression> read Id |
EOF assign display else end if while |
<Statement> ::= · assign Id '=' <Expression> |
EOF assign display else end if while |
<Statement> ::= · while <Expression> do <Statements> end |
EOF assign display else end if while |
<Statement> ::= · if <Expression> then <Statements> end |
EOF assign display else end if while |
<Statement> ::= · if <Expression> then <Statements> else <Statements> end |
EOF assign display else end if while |
Actions |
assign Shift to State 1 |
display Shift to State 2 |
if Shift to State 3 |
while Shift to State 4 |
<Statement> Go to State 5 |
<Statements> Go to State 20 |
(EOF) Reduce Production 1 |
else Reduce Production 1 |
end Reduce Production 1 |
Prior States |
0 5 36 37 54 |
LALR State 9 |
Configuration |
Lookahead |
<Value> ::= '(' · <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Expression> ::= · <Expression> '>' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Expression> '<' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Expression> '<=' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Expression> '>=' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Expression> '==' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Expression> '<>' <Add Exp> |
) < <= <> == > >= |
<Expression> ::= · <Add Exp> |
) < <= <> == > >= |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
- & ) + < <= <> == > >= |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
- & ) + < <= <> == > >= |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
- & ) + < <= <> == > >= |
<Add Exp> ::= · <Mult Exp> |
- & ) + < <= <> == > >= |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
- & ) * / + < <= <> == > >= |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
- & ) * / + < <= <> == > >= |
<Mult Exp> ::= · <Negate Exp> |
- & ) * / + < <= <> == > >= |
<Negate Exp> ::= · '-' <Value> |
- & ) * / + < <= <> == > >= |
<Negate Exp> ::= · <Value> |
- & ) * / + < <= <> == > >= |
<Value> ::= · Id |
- & ) * / + < <= <> == > >= |
<Value> ::= · StringLiteral |
- & ) * / + < <= <> == > >= |
<Value> ::= · NumberLiteral |
- & ) * / + < <= <> == > >= |
<Value> ::= · '(' <Expression> ')' |
- & ) * / + < <= <> == > >= |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 13 |
<Expression> Go to State 23 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
2 3 4 8 9 21 24 25 26 27 28 29 30 31 32 34 35 |
LALR State 10 |
Configuration |
Lookahead |
<Value> ::= Id · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 24 |
'-' Reduce Production 24 |
'&' Reduce Production 24 |
')' Reduce Production 24 |
'*' Reduce Production 24 |
'/' Reduce Production 24 |
'+' Reduce Production 24 |
'<' Reduce Production 24 |
'<=' Reduce Production 24 |
'<>' Reduce Production 24 |
'==' Reduce Production 24 |
'>' Reduce Production 24 |
'>=' Reduce Production 24 |
assign Reduce Production 24 |
display Reduce Production 24 |
do Reduce Production 24 |
else Reduce Production 24 |
end Reduce Production 24 |
if Reduce Production 24 |
read Reduce Production 24 |
then Reduce Production 24 |
while Reduce Production 24 |
Prior States |
2 3 4 8 9 21 24 25 26 27 28 29 30 31 32 34 35 |
LALR State 11 |
Configuration |
Lookahead |
<Value> ::= NumberLiteral · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 26 |
'-' Reduce Production 26 |
'&' Reduce Production 26 |
')' Reduce Production 26 |
'*' Reduce Production 26 |
'/' Reduce Production 26 |
'+' Reduce Production 26 |
'<' Reduce Production 26 |
'<=' Reduce Production 26 |
'<>' Reduce Production 26 |
'==' Reduce Production 26 |
'>' Reduce Production 26 |
'>=' Reduce Production 26 |
assign Reduce Production 26 |
display Reduce Production 26 |
do Reduce Production 26 |
else Reduce Production 26 |
end Reduce Production 26 |
if Reduce Production 26 |
read Reduce Production 26 |
then Reduce Production 26 |
while Reduce Production 26 |
Prior States |
2 3 4 8 9 21 24 25 26 27 28 29 30 31 32 34 35 |
LALR State 12 |
Configuration |
Lookahead |
<Value> ::= StringLiteral · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 25 |
'-' Reduce Production 25 |
'&' Reduce Production 25 |
')' Reduce Production 25 |
'*' Reduce Production 25 |
'/' Reduce Production 25 |
'+' Reduce Production 25 |
'<' Reduce Production 25 |
'<=' Reduce Production 25 |
'<>' Reduce Production 25 |
'==' Reduce Production 25 |
'>' Reduce Production 25 |
'>=' Reduce Production 25 |
assign Reduce Production 25 |
display Reduce Production 25 |
do Reduce Production 25 |
else Reduce Production 25 |
end Reduce Production 25 |
if Reduce Production 25 |
read Reduce Production 25 |
then Reduce Production 25 |
while Reduce Production 25 |
Prior States |
2 3 4 8 9 21 24 25 26 27 28 29 30 31 32 34 35 |
LALR State 13 |
Configuration |
Lookahead |
<Expression> ::= <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 14 |
')' Reduce Production 14 |
'<' Reduce Production 14 |
'<=' Reduce Production 14 |
'<>' Reduce Production 14 |
'==' Reduce Production 14 |
'>' Reduce Production 14 |
'>=' Reduce Production 14 |
assign Reduce Production 14 |
display Reduce Production 14 |
do Reduce Production 14 |
else Reduce Production 14 |
end Reduce Production 14 |
if Reduce Production 14 |
read Reduce Production 14 |
then Reduce Production 14 |
while Reduce Production 14 |
Prior States |
2 3 4 9 21 |
LALR State 14 |
Configuration |
Lookahead |
<Statement> ::= display <Expression> · |
EOF assign display else end if while |
<Statement> ::= display <Expression> · read Id |
EOF assign display else end if while |
<Expression> ::= <Expression> · '>' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= <Expression> · '<' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= <Expression> · '<=' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= <Expression> · '>=' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= <Expression> · '==' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
<Expression> ::= <Expression> · '<>' <Add Exp> |
EOF < <= <> == > >= assign display else end if read while |
Actions |
'<' Shift to State 27 |
'<=' Shift to State 28 |
'<>' Shift to State 29 |
'==' Shift to State 30 |
'>' Shift to State 31 |
'>=' Shift to State 32 |
read Shift to State 33 |
(EOF) Reduce Production 2 |
assign Reduce Production 2 |
display Reduce Production 2 |
else Reduce Production 2 |
end Reduce Production 2 |
if Reduce Production 2 |
while Reduce Production 2 |
Prior States |
2 |
LALR State 15 |
Configuration |
Lookahead |
<Add Exp> ::= <Mult Exp> · |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'*' Shift to State 34 |
'/' Shift to State 35 |
(EOF) Reduce Production 18 |
'-' Reduce Production 18 |
'&' Reduce Production 18 |
')' Reduce Production 18 |
'+' Reduce Production 18 |
'<' Reduce Production 18 |
'<=' Reduce Production 18 |
'<>' Reduce Production 18 |
'==' Reduce Production 18 |
'>' Reduce Production 18 |
'>=' Reduce Production 18 |
assign Reduce Production 18 |
display Reduce Production 18 |
do Reduce Production 18 |
else Reduce Production 18 |
end Reduce Production 18 |
if Reduce Production 18 |
read Reduce Production 18 |
then Reduce Production 18 |
while Reduce Production 18 |
Prior States |
2 3 4 9 21 27 28 29 30 31 32 |
LALR State 16 |
Configuration |
Lookahead |
<Mult Exp> ::= <Negate Exp> · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 21 |
'-' Reduce Production 21 |
'&' Reduce Production 21 |
')' Reduce Production 21 |
'*' Reduce Production 21 |
'/' Reduce Production 21 |
'+' Reduce Production 21 |
'<' Reduce Production 21 |
'<=' Reduce Production 21 |
'<>' Reduce Production 21 |
'==' Reduce Production 21 |
'>' Reduce Production 21 |
'>=' Reduce Production 21 |
assign Reduce Production 21 |
display Reduce Production 21 |
do Reduce Production 21 |
else Reduce Production 21 |
end Reduce Production 21 |
if Reduce Production 21 |
read Reduce Production 21 |
then Reduce Production 21 |
while Reduce Production 21 |
Prior States |
2 3 4 9 21 24 25 26 27 28 29 30 31 32 |
LALR State 17 |
Configuration |
Lookahead |
<Negate Exp> ::= <Value> · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 23 |
'-' Reduce Production 23 |
'&' Reduce Production 23 |
')' Reduce Production 23 |
'*' Reduce Production 23 |
'/' Reduce Production 23 |
'+' Reduce Production 23 |
'<' Reduce Production 23 |
'<=' Reduce Production 23 |
'<>' Reduce Production 23 |
'==' Reduce Production 23 |
'>' Reduce Production 23 |
'>=' Reduce Production 23 |
assign Reduce Production 23 |
display Reduce Production 23 |
do Reduce Production 23 |
else Reduce Production 23 |
end Reduce Production 23 |
if Reduce Production 23 |
read Reduce Production 23 |
then Reduce Production 23 |
while Reduce Production 23 |
Prior States |
2 3 4 9 21 24 25 26 27 28 29 30 31 32 34 35 |
LALR State 21 |
Configuration |
Lookahead |
<Statement> ::= assign Id '=' · <Expression> |
EOF assign display else end if while |
<Expression> ::= · <Expression> '>' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Expression> '<' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Expression> '<=' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Expression> '>=' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Expression> '==' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Expression> '<>' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= · <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if while |
<Add Exp> ::= · <Mult Exp> |
EOF - & + < <= <> == > >= assign display else end if while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Negate Exp> ::= · '-' <Value> |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Negate Exp> ::= · <Value> |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Value> ::= · Id |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Value> ::= · StringLiteral |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Value> ::= · NumberLiteral |
EOF - & * / + < <= <> == > >= assign display else end if while |
<Value> ::= · '(' <Expression> ')' |
EOF - & * / + < <= <> == > >= assign display else end if while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 13 |
<Expression> Go to State 38 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
7 |
LALR State 22 |
Configuration |
Lookahead |
<Negate Exp> ::= '-' <Value> · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 22 |
'-' Reduce Production 22 |
'&' Reduce Production 22 |
')' Reduce Production 22 |
'*' Reduce Production 22 |
'/' Reduce Production 22 |
'+' Reduce Production 22 |
'<' Reduce Production 22 |
'<=' Reduce Production 22 |
'<>' Reduce Production 22 |
'==' Reduce Production 22 |
'>' Reduce Production 22 |
'>=' Reduce Production 22 |
assign Reduce Production 22 |
display Reduce Production 22 |
do Reduce Production 22 |
else Reduce Production 22 |
end Reduce Production 22 |
if Reduce Production 22 |
read Reduce Production 22 |
then Reduce Production 22 |
while Reduce Production 22 |
Prior States |
8 |
LALR State 24 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '-' · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Mult Exp> Go to State 40 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
13 43 44 45 46 47 48 |
LALR State 25 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '&' · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Mult Exp> Go to State 41 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
13 43 44 45 46 47 48 |
LALR State 26 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '+' · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Mult Exp> Go to State 42 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
13 43 44 45 46 47 48 |
LALR State 27 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 43 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 28 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<=' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 44 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 29 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<>' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 45 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 30 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '==' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 46 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 31 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '>' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 47 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 32 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '>=' · <Add Exp> |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Add Exp> '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= · <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Mult Exp> '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Add Exp> Go to State 48 |
<Mult Exp> Go to State 15 |
<Negate Exp> Go to State 16 |
<Value> Go to State 17 |
Prior States |
14 18 19 23 38 |
LALR State 34 |
Configuration |
Lookahead |
<Mult Exp> ::= <Mult Exp> '*' · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Negate Exp> Go to State 50 |
<Value> Go to State 17 |
Prior States |
15 40 41 42 |
LALR State 35 |
Configuration |
Lookahead |
<Mult Exp> ::= <Mult Exp> '/' · <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · '-' <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Negate Exp> ::= · <Value> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · Id |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · StringLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · NumberLiteral |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Value> ::= · '(' <Expression> ')' |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 8 |
'(' Shift to State 9 |
Id Shift to State 10 |
NumberLiteral Shift to State 11 |
StringLiteral Shift to State 12 |
<Negate Exp> Go to State 51 |
<Value> Go to State 17 |
Prior States |
15 40 41 42 |
LALR State 36 |
Configuration |
Lookahead |
<Statement> ::= if <Expression> then · <Statements> end |
EOF assign display else end if while |
<Statement> ::= if <Expression> then · <Statements> else <Statements> end |
EOF assign display else end if while |
<Statements> ::= · <Statement> <Statements> |
else end |
<Statements> ::= · <Statement> |
else end |
<Statement> ::= · display <Expression> |
assign display else end if while |
<Statement> ::= · display <Expression> read Id |
assign display else end if while |
<Statement> ::= · assign Id '=' <Expression> |
assign display else end if while |
<Statement> ::= · while <Expression> do <Statements> end |
assign display else end if while |
<Statement> ::= · if <Expression> then <Statements> end |
assign display else end if while |
<Statement> ::= · if <Expression> then <Statements> else <Statements> end |
assign display else end if while |
Actions |
assign Shift to State 1 |
display Shift to State 2 |
if Shift to State 3 |
while Shift to State 4 |
<Statement> Go to State 5 |
<Statements> Go to State 52 |
Prior States |
18 |
LALR State 37 |
Configuration |
Lookahead |
<Statement> ::= while <Expression> do · <Statements> end |
EOF assign display else end if while |
<Statements> ::= · <Statement> <Statements> |
end |
<Statements> ::= · <Statement> |
end |
<Statement> ::= · display <Expression> |
assign display end if while |
<Statement> ::= · display <Expression> read Id |
assign display end if while |
<Statement> ::= · assign Id '=' <Expression> |
assign display end if while |
<Statement> ::= · while <Expression> do <Statements> end |
assign display end if while |
<Statement> ::= · if <Expression> then <Statements> end |
assign display end if while |
<Statement> ::= · if <Expression> then <Statements> else <Statements> end |
assign display end if while |
Actions |
assign Shift to State 1 |
display Shift to State 2 |
if Shift to State 3 |
while Shift to State 4 |
<Statement> Go to State 5 |
<Statements> Go to State 53 |
Prior States |
19 |
LALR State 38 |
Configuration |
Lookahead |
<Statement> ::= assign Id '=' <Expression> · |
EOF assign display else end if while |
<Expression> ::= <Expression> · '>' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= <Expression> · '<' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= <Expression> · '<=' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= <Expression> · '>=' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= <Expression> · '==' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
<Expression> ::= <Expression> · '<>' <Add Exp> |
EOF < <= <> == > >= assign display else end if while |
Actions |
'<' Shift to State 27 |
'<=' Shift to State 28 |
'<>' Shift to State 29 |
'==' Shift to State 30 |
'>' Shift to State 31 |
'>=' Shift to State 32 |
(EOF) Reduce Production 4 |
assign Reduce Production 4 |
display Reduce Production 4 |
else Reduce Production 4 |
end Reduce Production 4 |
if Reduce Production 4 |
while Reduce Production 4 |
Prior States |
21 |
LALR State 39 |
Configuration |
Lookahead |
<Value> ::= '(' <Expression> ')' · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 27 |
'-' Reduce Production 27 |
'&' Reduce Production 27 |
')' Reduce Production 27 |
'*' Reduce Production 27 |
'/' Reduce Production 27 |
'+' Reduce Production 27 |
'<' Reduce Production 27 |
'<=' Reduce Production 27 |
'<>' Reduce Production 27 |
'==' Reduce Production 27 |
'>' Reduce Production 27 |
'>=' Reduce Production 27 |
assign Reduce Production 27 |
display Reduce Production 27 |
do Reduce Production 27 |
else Reduce Production 27 |
end Reduce Production 27 |
if Reduce Production 27 |
read Reduce Production 27 |
then Reduce Production 27 |
while Reduce Production 27 |
Prior States |
23 |
LALR State 40 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '-' <Mult Exp> · |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'*' Shift to State 34 |
'/' Shift to State 35 |
(EOF) Reduce Production 16 |
'-' Reduce Production 16 |
'&' Reduce Production 16 |
')' Reduce Production 16 |
'+' Reduce Production 16 |
'<' Reduce Production 16 |
'<=' Reduce Production 16 |
'<>' Reduce Production 16 |
'==' Reduce Production 16 |
'>' Reduce Production 16 |
'>=' Reduce Production 16 |
assign Reduce Production 16 |
display Reduce Production 16 |
do Reduce Production 16 |
else Reduce Production 16 |
end Reduce Production 16 |
if Reduce Production 16 |
read Reduce Production 16 |
then Reduce Production 16 |
while Reduce Production 16 |
Prior States |
24 |
LALR State 41 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '&' <Mult Exp> · |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'*' Shift to State 34 |
'/' Shift to State 35 |
(EOF) Reduce Production 17 |
'-' Reduce Production 17 |
'&' Reduce Production 17 |
')' Reduce Production 17 |
'+' Reduce Production 17 |
'<' Reduce Production 17 |
'<=' Reduce Production 17 |
'<>' Reduce Production 17 |
'==' Reduce Production 17 |
'>' Reduce Production 17 |
'>=' Reduce Production 17 |
assign Reduce Production 17 |
display Reduce Production 17 |
do Reduce Production 17 |
else Reduce Production 17 |
end Reduce Production 17 |
if Reduce Production 17 |
read Reduce Production 17 |
then Reduce Production 17 |
while Reduce Production 17 |
Prior States |
25 |
LALR State 42 |
Configuration |
Lookahead |
<Add Exp> ::= <Add Exp> '+' <Mult Exp> · |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '*' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
<Mult Exp> ::= <Mult Exp> · '/' <Negate Exp> |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
'*' Shift to State 34 |
'/' Shift to State 35 |
(EOF) Reduce Production 15 |
'-' Reduce Production 15 |
'&' Reduce Production 15 |
')' Reduce Production 15 |
'+' Reduce Production 15 |
'<' Reduce Production 15 |
'<=' Reduce Production 15 |
'<>' Reduce Production 15 |
'==' Reduce Production 15 |
'>' Reduce Production 15 |
'>=' Reduce Production 15 |
assign Reduce Production 15 |
display Reduce Production 15 |
do Reduce Production 15 |
else Reduce Production 15 |
end Reduce Production 15 |
if Reduce Production 15 |
read Reduce Production 15 |
then Reduce Production 15 |
while Reduce Production 15 |
Prior States |
26 |
LALR State 43 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 9 |
')' Reduce Production 9 |
'<' Reduce Production 9 |
'<=' Reduce Production 9 |
'<>' Reduce Production 9 |
'==' Reduce Production 9 |
'>' Reduce Production 9 |
'>=' Reduce Production 9 |
assign Reduce Production 9 |
display Reduce Production 9 |
do Reduce Production 9 |
else Reduce Production 9 |
end Reduce Production 9 |
if Reduce Production 9 |
read Reduce Production 9 |
then Reduce Production 9 |
while Reduce Production 9 |
Prior States |
27 |
LALR State 44 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<=' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 10 |
')' Reduce Production 10 |
'<' Reduce Production 10 |
'<=' Reduce Production 10 |
'<>' Reduce Production 10 |
'==' Reduce Production 10 |
'>' Reduce Production 10 |
'>=' Reduce Production 10 |
assign Reduce Production 10 |
display Reduce Production 10 |
do Reduce Production 10 |
else Reduce Production 10 |
end Reduce Production 10 |
if Reduce Production 10 |
read Reduce Production 10 |
then Reduce Production 10 |
while Reduce Production 10 |
Prior States |
28 |
LALR State 45 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '<>' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 13 |
')' Reduce Production 13 |
'<' Reduce Production 13 |
'<=' Reduce Production 13 |
'<>' Reduce Production 13 |
'==' Reduce Production 13 |
'>' Reduce Production 13 |
'>=' Reduce Production 13 |
assign Reduce Production 13 |
display Reduce Production 13 |
do Reduce Production 13 |
else Reduce Production 13 |
end Reduce Production 13 |
if Reduce Production 13 |
read Reduce Production 13 |
then Reduce Production 13 |
while Reduce Production 13 |
Prior States |
29 |
LALR State 46 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '==' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 12 |
')' Reduce Production 12 |
'<' Reduce Production 12 |
'<=' Reduce Production 12 |
'<>' Reduce Production 12 |
'==' Reduce Production 12 |
'>' Reduce Production 12 |
'>=' Reduce Production 12 |
assign Reduce Production 12 |
display Reduce Production 12 |
do Reduce Production 12 |
else Reduce Production 12 |
end Reduce Production 12 |
if Reduce Production 12 |
read Reduce Production 12 |
then Reduce Production 12 |
while Reduce Production 12 |
Prior States |
30 |
LALR State 47 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '>' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 8 |
')' Reduce Production 8 |
'<' Reduce Production 8 |
'<=' Reduce Production 8 |
'<>' Reduce Production 8 |
'==' Reduce Production 8 |
'>' Reduce Production 8 |
'>=' Reduce Production 8 |
assign Reduce Production 8 |
display Reduce Production 8 |
do Reduce Production 8 |
else Reduce Production 8 |
end Reduce Production 8 |
if Reduce Production 8 |
read Reduce Production 8 |
then Reduce Production 8 |
while Reduce Production 8 |
Prior States |
31 |
LALR State 48 |
Configuration |
Lookahead |
<Expression> ::= <Expression> '>=' <Add Exp> · |
EOF ) < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '+' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '-' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
<Add Exp> ::= <Add Exp> · '&' <Mult Exp> |
EOF - & ) + < <= <> == > >= assign display do else end if read then while |
Actions |
'-' Shift to State 24 |
'&' Shift to State 25 |
'+' Shift to State 26 |
(EOF) Reduce Production 11 |
')' Reduce Production 11 |
'<' Reduce Production 11 |
'<=' Reduce Production 11 |
'<>' Reduce Production 11 |
'==' Reduce Production 11 |
'>' Reduce Production 11 |
'>=' Reduce Production 11 |
assign Reduce Production 11 |
display Reduce Production 11 |
do Reduce Production 11 |
else Reduce Production 11 |
end Reduce Production 11 |
if Reduce Production 11 |
read Reduce Production 11 |
then Reduce Production 11 |
while Reduce Production 11 |
Prior States |
32 |
LALR State 50 |
Configuration |
Lookahead |
<Mult Exp> ::= <Mult Exp> '*' <Negate Exp> · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 19 |
'-' Reduce Production 19 |
'&' Reduce Production 19 |
')' Reduce Production 19 |
'*' Reduce Production 19 |
'/' Reduce Production 19 |
'+' Reduce Production 19 |
'<' Reduce Production 19 |
'<=' Reduce Production 19 |
'<>' Reduce Production 19 |
'==' Reduce Production 19 |
'>' Reduce Production 19 |
'>=' Reduce Production 19 |
assign Reduce Production 19 |
display Reduce Production 19 |
do Reduce Production 19 |
else Reduce Production 19 |
end Reduce Production 19 |
if Reduce Production 19 |
read Reduce Production 19 |
then Reduce Production 19 |
while Reduce Production 19 |
Prior States |
34 |
LALR State 51 |
Configuration |
Lookahead |
<Mult Exp> ::= <Mult Exp> '/' <Negate Exp> · |
EOF - & ) * / + < <= <> == > >= assign display do else end if read then while |
Actions |
(EOF) Reduce Production 20 |
'-' Reduce Production 20 |
'&' Reduce Production 20 |
')' Reduce Production 20 |
'*' Reduce Production 20 |
'/' Reduce Production 20 |
'+' Reduce Production 20 |
'<' Reduce Production 20 |
'<=' Reduce Production 20 |
'<>' Reduce Production 20 |
'==' Reduce Production 20 |
'>' Reduce Production 20 |
'>=' Reduce Production 20 |
assign Reduce Production 20 |
display Reduce Production 20 |
do Reduce Production 20 |
else Reduce Production 20 |
end Reduce Production 20 |
if Reduce Production 20 |
read Reduce Production 20 |
then Reduce Production 20 |
while Reduce Production 20 |
Prior States |
35 |
LALR State 54 |
Configuration |
Lookahead |
<Statement> ::= if <Expression> then <Statements> else · <Statements> end |
EOF assign display else end if while |
<Statements> ::= · <Statement> <Statements> |
end |
<Statements> ::= · <Statement> |
end |
<Statement> ::= · display <Expression> |
assign display end if while |
<Statement> ::= · display <Expression> read Id |
assign display end if while |
<Statement> ::= · assign Id '=' <Expression> |
assign display end if while |
<Statement> ::= · while <Expression> do <Statements> end |
assign display end if while |
<Statement> ::= · if <Expression> then <Statements> end |
assign display end if while |
<Statement> ::= · if <Expression> then <Statements> else <Statements> end |
assign display end if while |
Actions |
assign Shift to State 1 |
display Shift to State 2 |
if Shift to State 3 |
while Shift to State 4 |
<Statement> Go to State 5 |
<Statements> Go to State 57 |
Prior States |
52 |