Required Reading

In this course we will use the following book on program analysis:

Principles of Program Analysis
Nielson, Flemming, Nielson, Hanne R., Hankin, Chris
Corr. 2nd printing, ISBN: 3-540-65410-0

It seems that you can freely download this book while you are on Eduroam.

For the material on actual compilers I will probably use a few chapters from the following book:

Modern Compiler Design
Dick Grune, Kees van Reeuwijk, Henri E. Bal, Ceriel J.H. Jacobs, and Koen Langendoen
Second Edition

Again this book can be freely downloaded when you are on Eduroam.

Details on what material you have to study for the exam can be found here


Basic Installation

We use Haskell for all labs. The easiest way to get all the tools you need is by installing the Haskell Platform. The lab computers should already be configured with the Haskell Platform.

AG system

In the course we use the UU Attribute Grammar system a lot:

Installing Packages from Hackage

You can install packages from the open package repository Hackage.

You do this using software called cabal-install, whose command-line tool is called cabal and is included with the Haskell Platform. See the guide on how to install a Cabal package for more on this procedure.

On the lab computers the cabal command is available from the special cabal command prompt which can be found under Start -> Standard Applications -> Informatica -> Haskell 2011.2.0.1 -> cabal

Some additional material (optional)

A former lecturer of this course, Atze Dijkstra, recorded two additional lectures, one on generating code for functional languages, and one on garbage collection. These are still available for interested students under a Solis login:

Functional language implementation

Garbage Collection