If you are interested in modern compiler infrastructure that subsumes a lot of recent PhD level research topics, I can highly recommend MLIR.
It's under the LLVM Foundation umbrella.
If you just want to deal with lexing, parsing, and interpretation (from scratch) for a reasonably complex class-based language, I recommend doing the (free) online book Crafting Interpreters.
The second half of that book re-implements the same language in C with garbage collection and a fast byte code interpreter.
It's under the LLVM Foundation umbrella.
If you just want to deal with lexing, parsing, and interpretation (from scratch) for a reasonably complex class-based language, I recommend doing the (free) online book Crafting Interpreters.
The second half of that book re-implements the same language in C with garbage collection and a fast byte code interpreter.