Shifting input and reducing structures

Shifting advances input and state; reducing recognizes a production’s right-hand side as its left-hand nonterminal. Repeated actions build the structure described by the start symbol.

The R refers to constructing a rightmost derivation in reverse, not reading the source from right to left. Retained state lets bottom-up decisions use input already seen instead of always selecting an enclosing rule in advance.

References: [1]

States and lookahead select actions

States summarize possible production positions. An action table combines the top state with lookahead to choose a shift, reduction, acceptance, or error; a goto table determines the state after reducing to a nonterminal.

This is more than matching a text suffix against any rule. The stack retains the earlier path, states constrain applicable productions, and lookahead can determine whether more input should be read before reducing.

References: [1]

Conflicts depend on table construction

A shift-reduce conflict offers both actions; a reduce-reduce conflict offers competing reductions. Ambiguity can cause conflicts, but limitations of a particular table construction can also lose necessary distinctions.

LR-family methods organize states and lookahead differently, and generators can apply precedence or broader strategies. Successful table generation alone does not establish the intended language interpretation: conflict resolution must preserve the desired structure.

References: [1] [2]