This repository contains my projects from the course "Methods of Programming Languages Realisation".
MRJP stands for "Metody Realizacji Języków Programowania" in Polish, which translates to "Methods of Programming Languages Realisation". This repository includes my projects from this course, all of which are implemented in Haskell.
Below are brief descriptions of the projects:
-
Instant Compiler: Instant is a simple programming language that supports variable assignments with arithmetic expressions and printing expressions. This project includes compilers for both LLVM and JVM, though neither of them performs any optimisations.
-
Latte Compiler: Latte is a Java-based programming language. The goal of this project was to implement an LLVM compiler for Latte, covering parsing, typechecking, and code generation, along with some basic optimisations. The parser was generated using BNFC.
More details can be found in the respective project directories.