Rewrite of the Lexer and Parser