About the project
ByteBender is a programming language and compiler I built as a course project. It compiles to machine instructions for the Sprockell processor, a simple Haskell-based CPU used for teaching, and the generated code runs in the accompanying simulator. The compiler does parsing, type checking and code generation, and the language itself supports threads, locks and shared memory.
This project was created as part of Concurrency and Compiler Construction (202200192)
Grade: 8
Key features
- Language with threads, locks and shared memory.
- Frontend: parsing, type checking and symbol tables.
- Backend: code generation for the Sprockell processor.
- Generated code runs on the Sprockell simulator.