| Number | Production |
|---|---|
| 0 | S′ → S |
| 1 | S → X c Y |
| 2 | Y → X Y |
| 3 | Y → b X |
| 4 | X → a X |
| 5 | X → a |
Words generated with this grammar are a sequence of one or more ‘a’s, followed by a ‘c’, followed by zero or more ‘a’s, followed by a ‘b’, followed by one or more ‘a’s.
The corresponding regular expression is a+ca*ba+.
| I0 | = | { |
S′ → ∙ S
S → ∙ X c Y
X → ∙ a X
X → ∙ a }
|
||
| GOTO(I0, S) | = | I1 | = | { |
S′ → S ∙ }
|
| GOTO(I0, X) | = | I2 | = | { |
S → X ∙ c Y }
|
| GOTO(I0, a) | = | I3 | = | { |
X → a ∙ X
X → a ∙
X → ∙ a X
X → ∙ a }
|
| GOTO(I2, c) | = | I4 | = | { |
S → X c ∙ Y
Y → ∙ X Y
Y → ∙ b X
X → ∙ a X
X → ∙ a }
|
| GOTO(I3, X) | = | I5 | = | { |
X → a X ∙ }
|
| GOTO(I3, a) | = | I3 | |||
| GOTO(I4, X) | = | I6 | = | { |
Y → X ∙ Y
Y → ∙ X Y
Y → ∙ b X
X → ∙ a X
X → ∙ a }
|
| GOTO(I4, Y) | = | I7 | = | { |
S → X c Y ∙ }
|
| GOTO(I4, a) | = | I3 | |||
| GOTO(I4, b) | = | I8 | = | { |
Y → b ∙ X
X → ∙ a X
X → ∙ a }
|
| GOTO(I6, X) | = | I6 | |||
| GOTO(I6, Y) | = | I9 | = | { |
Y → X Y ∙ }
|
| GOTO(I6, a) | = | I3 | |||
| GOTO(I6, b) | = | I8 | |||
| GOTO(I8, X) | = | I10 | = | { |
Y → b X ∙ }
|
| GOTO(I8, a) | = | I3 | |||
| STATE | ACTION | GOTO | |||||
|---|---|---|---|---|---|---|---|
| a | b | c | $ | S | X | Y | |
| 0 | s3 | 1 | 2 | ||||
| 1 | acc | ||||||
| 2 | s4 | ||||||
| 3 | s3/r5 | r5 | r5 | r5 | 5 | ||
| 4 | s3 | s8 | 6 | 7 | |||
| 5 | r4 | r4 | r4 | r4 | |||
| 6 | s3 | s8 | 6 | 9 | |||
| 7 | r1 | ||||||
| 8 | s3 | 10 | |||||
| 9 | r2 | ||||||
| 10 | r3 | ||||||
| ACTION | STACK | INPUT | ||||
|---|---|---|---|---|---|---|
| start | 0 | aacba$ | ||||
| s3 | 0 a 3 | acba$ | ||||
| s3 | 0 a 3 a 3 | cba$ | ...or... | r5 | 0 X 2 | acba$ |
| r5 | 0 a 3 X 5 | cba$ | err | |||
| r4 | 0 X 2 | cba$ | ||||
| s4 | 0 X 2 c 4 | ba$ | ||||
| s8 | 0 X 2 c 4 b 8 | a$ | ||||
| s3 | 0 X 2 c 4 b 8 a 3 | $ | ||||
| r5 | 0 X 2 c 4 b 8 X 10 | $ | ||||
| r3 | 0 X 2 c 4 Y 7 | $ | ||||
| r1 | 0 S 1 | $ | ||||
| acc | ||||||