Update lexer.h with improvements