I'm building a toy compiler as a learning project, and I'm hovering around the code generation phase right now. I found this page describing a host of different assemblers that I could target, and I'd like some recommendations on which to choose.
My goal is to optimize my learning experience - to that end, I've tried to make decisions that will give me the most useful knowledge going forward. Some examples of that are:
- using a lot of intermediate steps rather than going straight from an AST to ASM
- targeting x64/Linux rather than the JVM or LLVM
I understand this is pretty subjective, so to try to clarify further: I prefer open-source to proprietary, widely-used to not-widely-used, broad to specific. To this end, I would avoid something like HLA as it is more "specific" than true ASM.
If any of this sounds particularly uninformed, I'm still learning, so feel free to let me know if I'm "doing it wrong".