 <br>
      On a successful match, the input is advanced accordingly. But what happens 
      on an unsuccessful match? Be warned. It might be intuitive to think that 
      the scanner position is reset to its initial position prior to parsing. 
      No, the position is not reset. On an unsuccessful match, the position of 
      the scanner is <strong>undefined</strong>! Usually, it is positioned at 
      the farthest point where the error was found somewhere down the recursive 
      descent. If this be