Example for CLR Parsing-(2)
Step 3:
| STACK | ACTION | GOTO |
| a | b | c | d | e | |
| 0 | S3 | S4 | 1 | 2 | |
| 1 | Accept | ||||
| 2 | S6 | S7 | 5 | ||
| 3 | S3 | S4 | 8 | ||
| 4 | r3 | r3 | |||
| 5 | r1 | ||||
| 6 | S6 | S7 | |||
| 7 | r3 | ||||
| 8 | r2 | r2 | |||
| 9 | r2 |
I1 : S1 → S., $
I4 : A→ b., a/b S → AA → r1
I5 : S → AA., $ A → aA → r1
I7 : A → b., $ A → b → r3
I8 : A → aA., a/b
I9 : A → aA., $
The remaining blank entries in the table are considered errors. The given I/P string is ‘aabb’.
Step 4:
| STACK | I/P BUFFER | ACTION TABLE | GOTO TABLE | PARSING ACTION |
| $0 | aabb$ | [0,a]=S3 | Shift | |
| $0a3 | abb$ | [3,a]=S3 | Shift | |
| $0a3a3 | bb$ | [3,b]=S4 | Shift | |
| $0a3a3(b4) | b$ | [4,b]=r3 | [3,A]=8 | Reduce A → b |
| $0a3(a3A8) | b$ | [8,b]=r2 | [3,A]=8 | Reduce A → aA |
| $0(a3A8) | b$ | [8,b]=r2 | [0,A]=2 | Reduce A → aA |
| $0A2 | b$ | [2,b]=s7 | Shift | |
| $0A2(b4) | $ | [7,$]=r3 | [2,A]=5 | Reduce A → b |
| $0(A2A5) | $ | [5,$]=r1 | [0,5]=1 | Reduce S → AA |
| $0S1 | $ | [1,$]=accept |
Reference Link