All the LR parsers differ just in the placement of reduce moves.
The entire GoTo part is the same for LR(0), SLR(1), LALR(1) and CLR(1).
The placements of shift-moves is the same for LR(0), SLR(1), LALR(1) and CLR(1).
However, they differ in the placement of reduce moves. Which, in turn, makes them differ in the blank spaces(error entries) left in the parsing table.
Options B, C and D
How they differ in the placement of reduce moves in the parsing table?
- LR(0) puts reduce moves in the entire row for the final item.
- SLR(1) puts reduce moves only in the Follow() of LHS of the final item.
- CLR(1) puts reduce moves only in the lookaheads of the final item.
- LALR(1) puts reduce moves in all the merged lookaheads for same final items. (You need to get a grip over LR(1) items to get this line)