Degrees incorporating this pedagocial element :
Description
The aim of this project is to develop a simple compiler. That is, a translator from a source language to a target language. The souce language is a typed functional language, inspired by ML (eg. OCaml), with other features such as message-passing concurrent processes. The target language is Java. The implementation language is free, but Java is encouraged as some building blocks are provided to the student (notably a parser). The project consists in a few independent steps including a parser, code analysis (typechecking), translation to a generic intermediary language, and target code generation.