SLR Parsing for regular expression grammar Grammar: S -> E E -> E|E E -> EE E -> E* E -> (E) E -> t first(S) = {(, t} first(E) = {(, t} Follows(S) = {$} Follows(E) = {$, |, *, t, (, )} SLR Parse table TOKEN GOTO STATE | t | ( | ) | | | * | $ | S | E -------+-------+-------+-------+-------+-------+-------+-------+-------- a | +d | +c | | | | | | b -------+-------+-------+-------+-------+-------+-------+-------+-------- b | +d | +c | | +e | +g | acc | | f -------+-------+-------+-------+-------+-------+-------+-------+-------- c | +d | +c | | | | | | h -------+-------+-------+-------+-------+-------+-------+-------+-------- d | E->t | E->t | E->t | E->t | E->t | E->t | | -------+-------+-------+-------+-------+-------+-------+-------+-------- e | +d | +c | | | | | | i -------+-------+-------+-------+-------+-------+-------+-------+-------- f | +d | +c | | +e | +g | | | f | E->EE | E->EE | E->EE | E->EE | E->EE | E->EE | | -------+-------+-------+-------+-------+-------+-------+-------+-------- g | E->E* | E->E* | E->E* | E->E* | E->E* | E->E* | | -------+-------+-------+-------+-------+-------+-------+-------+-------- h | +d | +c | +j | +e | +g | | | f -------+-------+-------+-------+-------+-------+-------+-------+-------- i | +d | +c | | +e | +g | | | f | E->E|E| E->E|E| E->E|E| E->E|E| E->E|E| E->E|E| | -------+-------+-------+-------+-------+-------+-------+-------+-------- j | E->(E)| E->(E)| E->(E)| E->(E)| E->(E)| E->(E)| | -------+-------+-------+-------+-------+-------+-------+-------+-------- ITEM SETS CORE CLOSURE a: S -> _E (b) E -> _E|E (b) E -> _EE (b) E -> _E* (b) E -> _(E) (c) E -> _t (d) b: S -> E_ (-) E -> _E|E (f) E -> E_|E (e) E -> _EE (f) E -> E_E (f) E -> _E* (f) E -> E_* (g) E -> _(E) (c) E -> _t (d) c: E -> (_E) (h) E -> _E|E (h) E -> _EE (h) E -> _E* (h) E -> _(E) (c) E -> _t (d) d: E -> t_ (-) e: E -> E|_E (i) E -> _E|E (i) E -> _EE (i) E -> _E* (i) E -> _(E) (c) E -> _t (d) f: E -> EE_ (-) E -> _E|E (f) E -> E_|E (e) E -> _EE (f) E -> E_E (f) E -> _E* (f) E -> E_* (g) E -> _(E) (c) E -> _t (d) g: E -> E*_ (-) h: E -> (E_) (j) E -> _E|E (f) E -> E_|E (e) E -> _EE (f) E -> E_E (f) E -> _E* (f) E -> E_* (g) E -> _(E) (c) E -> _t (d) i: E -> E|E_ (-) E -> _E|E (f) E -> E_|E (e) E -> _EE (f) E -> E_E (f) E -> _E* (f) E -> E_* (g) E -> _(E) (c) E -> _t (d) j: E -> (E)_ (-)