A + B * C
| operator | operand | input | action | why |
| A + B * C | start | |||
| A | + B * C | shift A | ||
| + | A | B * C | shift + | empty < + |
| + | A B | * C | shift B | |
| + * | A B | C | shift * | + < * |
| + * | A B C | shift C | ||
| + | A (* B C) | reduce | ||
| (+ A (* B C)) | reduce | |||
A * B + C
| operator | operand | input | action | why |
| A * B + C | start | |||
| A | * B + C | shift A | ||
| * | A | B + C | shift * | empty < * |
| * | A B | + C | shift B | |
| (* A B) | + C | reduce | * ≥ + | |
| + | (* A B) | C | shift + | empty < + |
| + | (* A B) C | shift C | ||
| (+ (* A B) C) | reduce | |||
(A + B) * C
| operator | operand | input | action | why |
| ( A + B ) * C | start | |||
| ( | A + B ) * C | shift ( | ||
| ( | A | + B ) * C | shift A | |
| ( + | A | B ) * C | shift + | ( < + |
| ( + | A B | ) * C | shift B | |
| (+ A B) | * C | reduce, discard ( ) | ) | |
| * | (+ A B) | C | shift * | empty < * |
| * | (+ A B) C | shift C | ||
| (* (+ A B) C) | reduce | |||