GNU Bison XML Automaton Report

input grammar: ielr_grammar.y

Table of Contents

Reductions

Nonterminals useless in grammar

Terminals unused in grammar

Rules useless in grammar

Conflicts

Grammar

0 $acceptBIG_S $end 1 BIG_SSMALL_A BIG_A SMALL_A 2 | SMALL_B BIG_A SMALL_B 3 BIG_ASMALL_A 4 | SMALL_A SMALL_A

Terminals, with rules where they appear

Nonterminals, with rules where they appear

Automaton

State 0

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

State 1

1 BIG_SSMALL_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

State 2

2 BIG_SSMALL_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

State 3

0 $acceptBIG_S $end $end shift, and go to state 7

State 4

3 BIG_ASMALL_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).

State 5

1 BIG_SSMALL_A BIG_A SMALL_A SMALL_A shift, and go to state 9

State 6

2 BIG_SSMALL_B BIG_A SMALL_B SMALL_B shift, and go to state 10

State 7

0 $acceptBIG_S $end $default accept

State 8

4 BIG_ASMALL_A SMALL_A [SMALL_A, SMALL_B] SMALL_A reduce using rule 4 (BIG_A) SMALL_B reduce using rule 4 (BIG_A)

State 9

1 BIG_SSMALL_A BIG_A SMALL_A [$end] $end reduce using rule 1 (BIG_S)

State 10

2 BIG_SSMALL_B BIG_A SMALL_B [$end] $end reduce using rule 2 (BIG_S)

State 11

3 BIG_ASMALL_A [SMALL_B] 4 | SMALL_A SMALL_A SMALL_A shift, and go to state 8 SMALL_B reduce using rule 3 (BIG_A)