"SLR" example Grammar: S -> L = R | R L -> * R | t R -> L f(S) = f(L) = f(R) = { *, t } F(S) = { $ } F(L) = F(R) = { =, $ } LR(0) ITEM SETS CORE CLOSURE a: S'-> _S (b) S -> _L=R (c) S -> _R (d) L -> _*R (e) L -> _t (f) R -> _L (c) b: S'-> S_ (-) c: S -> L_=R (g) R -> L_ (-) d: S -> R_ (-) e: L -> *_R (h) R -> _L (i) L -> _*R (e) L -> _t (f) f: L -> t_ (-) g: S -> L=_R (j) R -> _L (i) L -> _*R (e) L -> _t (f) h: L -> *R_ (-) i: R -> L_ (-) j: S -> L=R_ (-) SLR PARSE TABLE | s | * | = | t | $ | S | L | R | +-------+-------+-------+-------+-------+-------+-------+-------+ | a | +e | | +f | | b | c | d | +-------+-------+-------+-------+-------+-------+-------+-------+ | b | | | | acc | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | c | | R->L | | R->L | | | | | | | +g | | | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | d | | | | S->R | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | e | +e | | +f | | | i | h | +-------+-------+-------+-------+-------+-------+-------+-------+ | f | | L->t | | L->t | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | g | +e | | +f | | | i | j | +-------+-------+-------+-------+-------+-------+-------+-------+ | h | | L->*R | | L->*R | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | i | | R->L | | R->L | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | j | | | | S->L=R| | | | +-------+-------+-------+-------+-------+-------+-------+-------+ LR(1) ITEM SETS CORE CLOSURE a: S'->_S : $ (b) S -> _L=R : $ (c) S -> _R : $ (d) L -> _*R : = (e) L -> _t : = (f) R -> _L : $ (c) L -> _*R : $ (e) L -> _t : $ (f) b: S'->S_ : $ (-) c: S -> L_=R : $ (g) R -> L_ : $ (-) d: S -> R_ : $ (-) e: L -> *_R : = (h) R -> _L : = (i) L -> *_R : $ (h) R -> _L : $ (i) L -> _*R : = (e) L -> _t : = (f) L -> _*R : $ (e) L -> _t : $ (f) f: L -> t_ : = (-) L -> t_ : $ (-) g: S -> L=_R : $ (j) R -> _L : $ (k) L -> _*R : $ (l) L -> _t : $ (m) h: L -> *R_ : = (-) L -> *R_ : $ (-) i: R -> L_ : = (-) R -> L_ : $ (-) j: S -> L=R_ : $ (-) k: R -> L_ : $ (-) l: L -> *_R : $ (n) R -> _L : $ (k) L -> _*R : $ (l) L -> _t : $ (m) m: L -> t_ : $ (-) n: L -> *R_ : $ (-) LR(1) PARSE TABLE | s | * | = | t | $ | S | L | R | +-------+-------+-------+-------+-------+-------+-------+-------+ | a | +e | | +f | | b | c | d | +-------+-------+-------+-------+-------+-------+-------+-------+ | b | | | | acc | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | c | | +g | | R->L | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | d | | | | S->R | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | e | +e | | +f | | | i | h | +-------+-------+-------+-------+-------+-------+-------+-------+ | f | | L->t | | L->t | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | g | | | +m | | | k | j | +-------+-------+-------+-------+-------+-------+-------+-------+ | h | | L->*R | | L->*R | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | i | | R->L | | R->L | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | j | | | | S->L=R| | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | k | | | | R->L | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | l | | | +m | | | k | j | +-------+-------+-------+-------+-------+-------+-------+-------+ | m | | | | L->t | | | | +-------+-------+-------+-------+-------+-------+-------+-------+ | n | | | | L->*R | | | | +-------+-------+-------+-------+-------+-------+-------+-------+