improg
Compiler and interpreter for the minimal imperative programming language "I" (group project).
About
A complete compiler suite for the minimal imperative programming language “I”, written entirely in Haskell. It was developed as a group project for the course Implementierung von Programmiersprachen (implementation of programming languages) in the summer term 2021 at LMU Munich.
Features
The single improg executable covers the whole pipeline:
- compile “I” source code to machine instructions, either executing them directly or writing them to a file
- interpret previously compiled machine-instruction files
- interactive input during program execution via a simple prompt
The repository also ships a collection of example “I” programs to try the compiler on.