SLR (1) PARSER/LR (0) Parser: Example:1
SLR (1) PARSER/LR (0) Parser: Example:1
EXAMPLE :1
Construct SLR (or) LR(0) Parser
GIVEN GRAMMAR
S→CC
C→cC| C→d
SOLN:
Given GRAMMAR
1. S→CC
2. C→cC
3. C→d
S’-> S. I1
S→.CC
C→.c C
GOTO[I0,C]
C→ .d S->C.C
I0 I2
GOTO[I0,d]] I4 C-> .c C
C-> .d
C->d.
C->c. C
GOTO[I0, c] C→ .c C
GOTO[I2,C]
C→ .d
I5
S->CC.
I3
GOTO[I2,d]
GOTO[I2,c]
I4 C->d.
C->c. C
C->.c C
GOTO[I3,d] I3
I4 C->d. C-> .d
GOTO[I3,c]
GOTO[I3,C]
I3
C->cC.
I6
1. S→CC
2. C→cC
3. C→d
STEP 2: SLR PARSING TABLE
S-SHIFT
r-Reduce
Input ACTION GOTO
state c d $ S C
s
I0 S3 S4 1 2
I1 Accep
t
I2 S3 S4 5
I3 S3 S4 6
I4 r3 r3 r3
I5 r1
I6 r2 r2 r2
$0 cdd$ S3 [Shift]
$0c3 dd$ S4 [Shift]
$0c3d4 d$ r3 [reduce C→d]