Compiler from a safe C-like language to x86 assembly. Includes SSA conversion, SCCP, register allocation, and a language‑level threading library. Written from scratch for CMU 15-411.
During the fall semester of 2020, along with a partner, I wrote a compiler for the C0 programming language. We implemented all parts of the compiler from scratch in Rust.
In addition to compiling the base language, we implemented a variety of high and low level optimization strategies and analyzed our results:
For our final project, we designed and implemented a language extension (C-SPAN) for easily writing parallel programs: