Last night I pulled an all-nighter reading a novel.

Literal

Last-night [topic-は] all-nighter-do-[and-て] novel [object-を] read-[past-んだ].

徹夜する ('to stay up all night, pull an all-nighter') is culturally-loaded university-student / office-worker vocabulary — 徹 ('through, thorough') + 夜 ('night') gives 'through the night.' The te-form 徹夜して chains it to the main verb as an accompanying action: 'reading while pulling an all-nighter.' Very natural spoken Japanese.