In the shift / decrease parser, lookahead is not used to determine which products are being considered, but rather determines whether the parser should move the next token or take some reduction action. If you had a shift / reduce parser for the above grammar, the parser always shifted four tokens before deciding whether to reduce or not; remember that in LR parsers, abbreviations are performed only when the corresponding series of characters is on top of the parse stack. Lookahead would only be needed here if the parser could not determine whether it needs to reduce four tokens, or leave more characters and reduce them later.
In particular, the analyzer is likely to do something like this:
Stack Input Action ------------------------------------------------------------------------------- token1 token2 token3 token4 Shift token1 token2 token3 token4 Shift token1 token2 token3 token4 Shift token1 token2 token3 token4 Shift token1 token2 token3 token4 Reduce, Option 1 rule1 Accept
or
Stack Input Action ------------------------------------------------------------------------------- token1 token2 token3 token3 Shift token1 token2 token3 token3 Shift token1 token2 token3 token3 Shift token1 token2 token3 token3 Shift token1 token2 token3 token3 Reduce, Option 2 rule1 Accept
Note that this contrasts with parsers from top to bottom, such as LL (k) parses, which work in an attempt to predict which products to use. In this case, four tokens are required, because the parser guesses the production, and then checks its guesses (predict / match parsing). For example, in a parser from top to bottom (which should be LL (4) here), it will do the following:
Stack Input Action ---------------------------------------------------------------------------------- rule1 token1 token2 token3 token4 $$$$ Predict, Option 1 token1 token2 token3 token4 token1 token2 token3 token4 $$$$ Match token2 token3 token4 token2 token3 token4 $$$$ Match token3 token4 token3 token4 $$$$ Match token4 token4 $$$$ Match $$$$ Accept
or
Stack Input Action ---------------------------------------------------------------------------------- rule1 token1 token2 token3 token3 $$$$ Predict, Option 2 token1 token2 token3 token3 token1 token2 token3 token3 $$$$ Match token2 token3 token3 token2 token3 token3 $$$$ Match token3 token3 token3 token3 $$$$ Match token3 token3 $$$$ Match $$$$ Accept
Pay attention to how viewing is required to predict which products to use, so the analyzer must have four tokens. In the LR parser, the parser works by checking more tokens until it becomes comfortable that it sees what it is looking for and then reduces (parsing / decreasing parsing). In this case, viewing is not required at all. Lookahead is only required in the LR parser to determine if the parser has seen the end of the descriptor (shortened string) or is in the middle of the descriptor and should continue to move. That is why, for example, some interesting grammars can be shown as LR (0), but the only grammars that are LL (0) are grammars in which each nonterminal has exactly one production associated with it; lookahead has fundamentally different uses in top-down or bottom-up analysis.
Generally speaking, top-down partisans can process fewer grammars than bottom-up parsers, and in fact any LL (k) grammar is guaranteed to be LR (k), but not vice versa.
Hope this helps!