input grammar: ielr_grammar.y
0 $accept → BIG_S $end 1 BIG_S → SMALL_A BIG_A SMALL_A 2 | SMALL_B BIG_A SMALL_B 3 BIG_A → SMALL_A 4 | SMALL_A SMALL_A
0 $accept → • BIG_S $end 1 BIG_S → • SMALL_A BIG_A SMALL_A 2 | • SMALL_B BIG_A SMALL_B SMALL_A shift, and go to state 1 SMALL_B shift, and go to state 2 BIG_S go to state 3
1 BIG_S → SMALL_A • BIG_A SMALL_A 3 BIG_A → • SMALL_A 4 | • SMALL_A SMALL_A SMALL_A shift, and go to state 4 BIG_A go to state 5
2 BIG_S → SMALL_B • BIG_A SMALL_B 3 BIG_A → • SMALL_A 4 | • SMALL_A SMALL_A SMALL_A shift, and go to state 11 BIG_A go to state 6
0 $accept → BIG_S • $end $end shift, and go to state 7
3 BIG_A → SMALL_A • [SMALL_A] 4 | SMALL_A • SMALL_A SMALL_A reduce using rule 3 (BIG_A) Conflict between rule 3 and token SMALL_A resolved as reduce (%left SMALL_A).
1 BIG_S → SMALL_A BIG_A • SMALL_A SMALL_A shift, and go to state 9
2 BIG_S → SMALL_B BIG_A • SMALL_B SMALL_B shift, and go to state 10
0 $accept → BIG_S $end • $default accept
4 BIG_A → SMALL_A SMALL_A • [SMALL_A, SMALL_B] SMALL_A reduce using rule 4 (BIG_A) SMALL_B reduce using rule 4 (BIG_A)
1 BIG_S → SMALL_A BIG_A SMALL_A • [$end] $end reduce using rule 1 (BIG_S)
2 BIG_S → SMALL_B BIG_A SMALL_B • [$end] $end reduce using rule 2 (BIG_S)
3 BIG_A → SMALL_A • [SMALL_B] 4 | SMALL_A • SMALL_A SMALL_A shift, and go to state 8 SMALL_B reduce using rule 3 (BIG_A)