I haven’t had to write a parser since university, but if I had to write one now I’d definitely be checking out Tommy Carlier’s 10 part series showing how to write a parser for a demo programming language of his own creation.