lexer: int, string, float