lexer working with basic rules