The lecture slides for the current period (2013-2014) are posted here. I will replace last year's slides as we go.
In this course we will use the lecture notes on Languages and Compilers. The latest version posted here is from November 2011.
You can also buy a printed copy of the lecture notes from AEskwadraat. Some of the printed versions may be from older editions, but the differences are minor.
Please reports any errors you find in the lecture notes. We will post them here.
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.
If, for some reason, you need to configure a system without the Haskell Platform, then you will need to install the following tools:
- GHC - the Glasgow Haskell Compiler
- Alex - a lexical analyser generator
- Happy - a parser generator
Installing Packages from Hackage
You may decide to install packages (such as alex
) from the open package repository called Hackage
. You can do this using software called cabal-install
, whose command-line tool is called
and is included with the Haskell Platform. See the guide on how to install a Cabal package
for more on this procedure.
At 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. In short, to install a downloaded cabal package, unzip it and in the resulting directory do
. To install a package which is available at Hackage
, use the command
cabal install packagename
Parser Combinator Library
For the parser combinator labs in this course, we use our own Haskell package
. You can download one of the following files (
for Linux and Mac or
for Windows), decompress it, and install it using
The documentation for the package is available here:
Simple Stack Machine
The SSM page
has the reference for the Simple Stack Machine architecture and instruction set.