ByteBender Language and Compiler

Universiteit Project

Het ontwerpen en implementeren van een programmeertaal voor de Sprockell CPU

Eigen programmeertaal met multithreading, synchronisatieprimitieven en shared memory, die wordt gecompileerd naar machine-instructies voor de Sprockell-processor, een eenvoudige educatieve CPU. De compiler verzorgt parsing, typechecking en codegeneratie en voert de gegenereerde code uit in de bijbehorende simulator.

Verslag


PDF Preview

Over het project


ByteBender is een programmeertaal en compiler die ik voor een vak heb gebouwd. De compiler vertaalt code naar machine-instructies voor de Sprockell processor, een eenvoudige CPU in Haskell die voor onderwijs wordt gebruikt, en de gegenereerde code draait in de bijbehorende simulator. De compiler doet parsing, typechecking en codegeneratie, en de taal zelf ondersteunt threads, locks en gedeeld geheugen.

Dit project is gemaakt als onderdeel van Concurrency and Compiler Construction (202200192)

Grade: 8

Key features


  • Taal met threads, locks en gedeeld geheugen.
  • Frontend: parsing, typechecking en symboltabellen.
  • Backend: codegeneratie voor de Sprockell-processor.
  • De gegenereerde code draait op de Sprockell-simulator.