We present a new semi-analytical compositional simulator specifically designed for hydrocarbon recovery (primary and cyclic solvent injection processes) in ultratight oil reservoirs based on diffusion-dominated transport within the matrix. The semi-analytical solution consists of a well-mixed tank model for the fractures coupled to diffusive transport within the matrix. Production of oil, gas, and water from the fractures is proportional to its phase saturation. The matrix allows for differing effective diffusion coefficients for each component. Because there are no grid blocks within the matrix the analytical solution is computationally less expensive than numerical simulation while capturing the steep, non-monotonic compositional changes occurring a short distance into the matrix owing to multiple injection cycles. The Peng-Robinson equation-of-state is used to calculate phase behavior within the analytical framework. The solution is validated with several lab and field-scale cases. For primary recovery, the results show that the diffusion-based simulator correctly reproduces the pressure and oil recovery declines observed in the field. We show that the hydrocarbon recovery mechanism for solvent huff'n'puff (HnP) is facilitated by greater density reduction and compositional changes (increased compositional gradients). Two solvents are considered in HnP calculations; carbon dioxide (CO2) and methane (CH4). Recovery of heavier components is enhanced with CO2 compared to CH4, but methane has overall greater oil recovery than carbon dioxide for the cases considered. Furthermore, the results demonstrate that multiple huff'n'puff cycles constrained to surface injection are needed to enhance density and compositional gradients, and therefore oil recovery. While shorter soaks are better for short-term recovery (i.e. 3 to 5 years), longer soak periods maximize recovery over a longer timeframe (i.e. 10 to 15 years). This paper provides a novel way to model the optimum number of cycles and duration and when to start the HnP process after primary recovery for the limiting case of diffusion only transport where matrix permeabilities are very small (k < 200 nd).