clean up lexer and parser