Compilers and Languages - 2015/16

Induction slide for MSc students

Compiling is a huge part of computer science that has grown over more then half a century, so that a one-semester module can only provide an introduction. This module does not attempt to cover all phases of compilers. Instead, we aim to focus on a few fundamental ideas that underlie compiling, such as stacks for parsing and for function calls. Some advanced topics are addressed, specifically the implementation of functional languages.

Hands-on implementation is not part of this module; that is the purpose of the additional material in the Compiler Construction module.

You can join the Facebook group for this module here.

Parsing

Slides on LL and LR parsing as making stack machines (more) deterministic

Functions and call stack

Compiling a simple C-like language

Compiling C to x86 using Clang by example

Functional languages

Introduction to abstract machines for functional languages