What happens when you let the compiler for your favourite language loose on source code? Here you will find an answer for the non-strict functional programming language SASL.
Based on a detailed tutorial, you will build a complete compiler (including lexer, parser and optimiser) yourself, giving you a feel for what has to happen before the programs of a higher-level language can actually be executed.
The code that your compiler will produce will be executable on a simple virtual machine (SK-Reduction Machine), which will also be part of your effort.
In the end, you will have a simple but complete implementation of a compiler and virtual machine for SASL.
Complete implementation of a compiler and a virtual machine for SASL including
- lexer, parser, optimiser
- simple execution machine (SK-Reduction Machine)
- the functional programming language SASL
- compiler construction
- design patterns for compiler construction
- Knowledge of at least one programming language, e.g., Haskell / Java / C++ / C
- Knowledge of a functional programming language (Scheme/Racket, Haskell, Scala, …) is not necessary, but an advantage.