update lexer.c with some essentials