S -> S ; S
S -> id := E
S -> print ( L )
E -> id
E -> num
E -> E + E
E -> ( S , E )
L -> E
L -> L , E
Input
id := num ; id := id + ( id := num + num , id )
STEP 1
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
Input : id := num ; id := id + ( id := num + num , id ) <eof>
Action : shift
STEP 2
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
Input : := num ; id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 3
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
Input : := num ; id := id + ( id := num + num , id ) <eof>
Action : shift
STEP 4
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
Input : num ; id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 5
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
Input : num ; id := id + ( id := num + num , id ) <eof>
Action : shift
STEP 6
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
num
Input : ; id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 7
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
num
E -> num . {<eof>, +, ;}
Input : ; id := id + ( id := num + num , id ) <eof>
Action : reduce E -> num . {<eof>, +, ;}
STEP 8
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── num
Input : ; id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 9
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── num
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
Input : ; id := id + ( id := num + num , id ) <eof>
Action : reduce S -> id := E . {<eof>, ;}
STEP 10
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
Input : ; id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 11
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
Input : ; id := id + ( id := num + num , id ) <eof>
Action : shift
STEP 12
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
Input : id := id + ( id := num + num , id ) <eof>
Action : goto
STEP 13
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
Input : id := id + ( id := num + num , id ) <eof>
Action : shift
STEP 14
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
Input : := id + ( id := num + num , id ) <eof>
Action : goto
STEP 15
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
Input : := id + ( id := num + num , id ) <eof>
Action : shift
STEP 16
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
Input : id + ( id := num + num , id ) <eof>
Action : goto
STEP 17
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
Input : id + ( id := num + num , id ) <eof>
Action : shift
STEP 18
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
id
Input : + ( id := num + num , id ) <eof>
Action : goto
STEP 19
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
id
E -> id . {<eof>, +, ;}
Input : + ( id := num + num , id ) <eof>
Action : reduce E -> id . {<eof>, +, ;}
STEP 20
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
Input : + ( id := num + num , id ) <eof>
Action : goto
STEP 21
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
Input : + ( id := num + num , id ) <eof>
Action : shift
STEP 22
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
Input : ( id := num + num , id ) <eof>
Action : goto
STEP 23
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
Input : ( id := num + num , id ) <eof>
Action : shift
STEP 24
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
Input : id := num + num , id ) <eof>
Action : goto
STEP 25
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
Input : id := num + num , id ) <eof>
Action : shift
STEP 26
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
Input : := num + num , id ) <eof>
Action : goto
STEP 27
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
Input : := num + num , id ) <eof>
Action : shift
STEP 28
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
Input : num + num , id ) <eof>
Action : goto
STEP 29
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
Input : num + num , id ) <eof>
Action : shift
STEP 30
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
num
Input : + num , id ) <eof>
Action : goto
STEP 31
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
num
E -> num . {+, ,, ;}
Input : + num , id ) <eof>
Action : reduce E -> num . {+, ,, ;}
STEP 32
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
Input : + num , id ) <eof>
Action : goto
STEP 33
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
Input : + num , id ) <eof>
Action : shift
STEP 34
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
Input : num , id ) <eof>
Action : goto
STEP 35
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
E -> E + . E {+, ,, ;}
Input : num , id ) <eof>
Action : shift
STEP 36
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
E -> E + . E {+, ,, ;}
num
Input : , id ) <eof>
Action : goto
STEP 37
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
E -> E + . E {+, ,, ;}
num
E -> num . {+, ,, ;}
Input : , id ) <eof>
Action : reduce E -> num . {+, ,, ;}
STEP 38
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
E -> E + . E {+, ,, ;}
E
└── num
Input : , id ) <eof>
Action : goto
STEP 39
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
+
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
E -> E + . E {+, ,, ;}
E
└── num
E -> E . + E {+, ,, ;}
E -> E + E . {+, ,, ;}
Input : , id ) <eof>
Action : reduce E -> E + E . {+, ,, ;}
STEP 40
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
├── E
│ └── num
├── +
└── E
└── num
Input : , id ) <eof>
Action : goto
STEP 41
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
id
S -> id . := E {,, ;}
:=
E -> . E + E {+, ,, ;}
E -> . ( S , E ) {+, ,, ;}
E -> . id {+, ,, ;}
E -> . num {+, ,, ;}
S -> id := . E {,, ;}
E
├── E
│ └── num
├── +
└── E
└── num
E -> E . + E {+, ,, ;}
S -> id := E . {,, ;}
Input : , id ) <eof>
Action : reduce S -> id := E . {,, ;}
STEP 42
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
Input : , id ) <eof>
Action : goto
STEP 43
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
Input : , id ) <eof>
Action : shift
STEP 44
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
Input : id ) <eof>
Action : goto
STEP 45
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
Input : id ) <eof>
Action : shift
STEP 46
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
id
Input : ) <eof>
Action : goto
STEP 47
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
id
E -> id . {), +}
Input : ) <eof>
Action : reduce E -> id . {), +}
STEP 48
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
E
└── id
Input : ) <eof>
Action : goto
STEP 49
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
E
└── id
E -> E . + E {), +}
E -> ( S , E . ) {<eof>, +, ;}
Input : ) <eof>
Action : shift
STEP 50
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
E
└── id
E -> E . + E {), +}
E -> ( S , E . ) {<eof>, +, ;}
)
Input : <eof>
Action : goto
STEP 51
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
(
E -> ( . S , E ) {<eof>, +, ;}
S -> . S ; S {,, ;}
S -> . id := E {,, ;}
S -> . print ( L ) {,, ;}
S
├── id
├── :=
└── E
├── E
│ └── num
├── +
└── E
└── num
E -> ( S . , E ) {<eof>, +, ;}
S -> S . ; S {,, ;}
,
E -> . E + E {), +}
E -> . ( S , E ) {), +}
E -> . id {), +}
E -> . num {), +}
E -> ( S , . E ) {<eof>, +, ;}
E
└── id
E -> E . + E {), +}
E -> ( S , E . ) {<eof>, +, ;}
)
E -> ( S , E ) . {<eof>, +, ;}
Input : <eof>
Action : reduce E -> ( S , E ) . {<eof>, +, ;}
STEP 52
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
Input : <eof>
Action : goto
STEP 53
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
└── id
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
+
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
E -> E + . E {<eof>, +, ;}
E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
E -> E . + E {<eof>, +, ;}
E -> E + E . {<eof>, +, ;}
Input : <eof>
Action : reduce E -> E + E . {<eof>, +, ;}
STEP 54
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
Input : <eof>
Action : goto
STEP 55
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
id
S -> id . := E {<eof>, ;}
:=
E -> . E + E {<eof>, +, ;}
E -> . ( S , E ) {<eof>, +, ;}
E -> . id {<eof>, +, ;}
E -> . num {<eof>, +, ;}
S -> id := . E {<eof>, ;}
E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
E -> E . + E {<eof>, +, ;}
S -> id := E . {<eof>, ;}
Input : <eof>
Action : reduce S -> id := E . {<eof>, ;}
STEP 56
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
S
├── id
├── :=
└── E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
Input : <eof>
Action : goto
STEP 57
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── id
├── :=
└── E
└── num
S -> S . ; S {<eof>, ;}
;
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S -> S ; . S {<eof>, ;}
S
├── id
├── :=
└── E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
S -> S . ; S {<eof>, ;}
S -> S ; S . {<eof>, ;}
Input : <eof>
Action : reduce S -> S ; S . {<eof>, ;}
STEP 58
Stack :
S -> . S ; S {<eof>, ;}
S -> . id := E {<eof>, ;}
S -> . print ( L ) {<eof>, ;}
S
├── S
│ ├── id
│ ├── :=
│ └── E
│ └── num
├── ;
└── S
├── id
├── :=
└── E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )
Input : <eof>
Action : accept
S
├── S
│ ├── id
│ ├── :=
│ └── E
│ └── num
├── ;
└── S
├── id
├── :=
└── E
├── E
│ └── id
├── +
└── E
├── (
├── S
│ ├── id
│ ├── :=
│ └── E
│ ├── E
│ │ └── num
│ ├── +
│ └── E
│ └── num
├── ,
├── E
│ └── id
└── )