I'm curious what you'd recommend.
For what it's worth my goal was to compile to machine code. Anything less would have seemed insufficient. Later I got Appel's "Modern Compiler Implementation in Java" and Allen and Kennedy "Optimizing Compilers for Modern Architectures".
Cooper and Torczon "Engineering a Compiler" was recommended here recently. I haven't seen it.
"Engineering a Compiler" is quite approachable.
But, once you know the basics, you get the best bang-for-the-buck by looking at source code of various compilers and virtual machines.
Nils Holm's work https://t3x.org/
Teaching and Learning Compilers Incrementally - Jeremy Siek - RacketCon 2023 https://www.youtube.com/watch?v=43VA_QaTRT8
Nanopass https://nanopass.org/
original paper that was the basis for nanopass http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
https://www.reddit.com/r/ProgrammingLanguages/comments/gnzra...
The Crafting Interpreters and the Thorsten Ball books
https://craftinginterpreters.com/contents.html
[1] https://www.craftinginterpreters.com/contents.html