Consume another token from the input stream. Can only write sequentially!
If you need 3 tokens ahead, you must consume() 3 times.
Note that it is possible to overwrite tokens that have not been matched.
For example, calling consume() 3 times when k=2, means that the first token
consumed will be overwritten with the 3rd.