About the project
ByteBender is a custom programming language and compiler developed as part of a university project. It translates high-level code into machine instructions for the Sprockell processor, a simple Haskell-based CPU. The project includes a frontend for parsing and type-checking, a backend for code generation, and integration with the Sprockell simulator for execution. The language supports multithreading, synchronization primitives, and shared memory operations.
Key features
- Custom Language: Designed for educational purposes with support for multithreading and synchronization.
- Frontend: Includes parsing, type-checking, and symbol table management.
- Backend: Generates machine instructions for the Sprockell processor.
- Integration: Executes generated code on the Sprockell simulator.
- Concurrency: Supports thread creation, locks, and shared memory operations.