LR(1) grammar ('' is ε):

FIRST table
NonterminalFIRST
S'{c,d}
S{c,d}
C{c,d}

LR(1) closure table
GotoKernelStateClosure
{[S' -> .S, $]}0{[S' -> .S, $]; [S -> .C C, $]; [C -> .c C, c/d]; [C -> .d, c/d]}
goto(0, S){[S' -> S., $]}1{[S' -> S., $]}
goto(0, C){[S -> C.C, $]}2{[S -> C.C, $]; [C -> .c C, $]; [C -> .d, $]}
goto(0, c){[C -> c.C, c/d]}3{[C -> c.C, c/d]; [C -> .c C, c/d]; [C -> .d, c/d]}
goto(0, d){[C -> d., c/d]}4{[C -> d., c/d]}
goto(2, C){[S -> C C., $]}5{[S -> C C., $]}
goto(2, c){[C -> c.C, $]}6{[C -> c.C, $]; [C -> .c C, $]; [C -> .d, $]}
goto(2, d){[C -> d., $]}7{[C -> d., $]}
goto(3, C){[C -> c C., c/d]}8{[C -> c C., c/d]}
goto(3, c){[C -> c.C, c/d]}3 
goto(3, d){[C -> d., c/d]}4 
goto(6, C){[C -> c C., $]}9{[C -> c C., $]}
goto(6, c){[C -> c.C, $]}6 
goto(6, d){[C -> d., $]}7 



LR table
StateACTIONGOTO
cd$S'SC
0s3s4  12
1  acc   
2s6s7   5
3s3s4   8
4r3r3    
5  r1   
6s6s7   9
7  r3   
8r2r2    
9  r2   

Input (tokens):

Maximum number of steps:


TraceTree
StepStackInputAction
10c d d $s3
S
C
c
C
d
C
d
20 c 3d d $s4
30 c 3 d 4d $r3
40 c 3 Cd $8
50 c 3 C 8d $r2
60 Cd $2
70 C 2d $s7
80 C 2 d 7$r3
90 C 2 C$5
100 C 2 C 5$r1
110 S$1
120 S 1$acc