C Compiler
OCaml compiler from a supported C subset to runnable x86-64, with TACKY IR and instruction fixups in between.
Motivation: I got tired of treating compilers like magic, so I started building one. Nora Sandler's book gave me the roadmap; I wrote the passes myself. Lexer and parser into an AST, then TACKY to flatten nested expressions, then stack-backed x86 with a fixup pass when memory-to-memory ops are illegal. Right now it honestly covers return constants and nested unaries like return ~(-2);. Broader C is next, but only after each stage stays correct.
Challenge: Direct AST-to-assembly stopped scaling once expressions nested.




