title: Difference between shifting and look-ahead
body: <p>Given a simple grammar, like</p>
  
  <pre><code>rule1
      := token1 token2 token3 token4
      || token1 token2 token3 token3;
  </code></pre>
  
  <p>What's the difference between shifting the first three tokens, then looking at the fourth to see which rule to reduce, and simply performing a lookahead of three tokens to see which rule to reduce?</p>