Always making progress by replacing a substring with LHS of a matching production will not lead to the goal/start symbol.
Informally, A Handle of a string is a substring that matches the right side of a production, and whose reduction to the non-terminal on the left side of the production represents one step along the reverse of a right most derivation.
If the grammar is unambiguous, every right sentential form has exactly one handle.
More formally, A handle is a production A→b and a position in the current right-sentential form abw such that: SÞaAwÞa/bw
For example grammar, if current right-sentential form is
Then the handle is A→Ab at the marked position. a never contains non-terminals.
Keep removing handles, replacing them with corresponding LHS of production, until we reach S.
The grammar is ambiguous, so there are actually two handles at next-to-last step. We can use parser-generators that compute the handles for us.