we now print an error after all the tokens. Implementation is ugly and abuses the Exception to handle program flow.