School of Computer Science
Division of Informatics, University of Edinburgh
CS3 Compiling Techniques
This module runs in Term 2, on Mondays at 9.00am and on Thursdays at 9.00am in JCMB Lecture Theatre C.
There are four tutorial groups accompanying this lecture. All the tutorials start in week 2 of Term 2.
Tutorial 1, Mondays, 1500-1600, JCMB, Room 5325
Tutorial 2, Tuesdays, 1400-1500, JCMB, Room 5326 (Room 6309 in week 2)
Tutorial 3, Wednesdays, 1100-1200, JCMB, Room 6203
Tutorial 4, Thursdays, 1300-1400, JCMB, Room 6310
Documents
Syllabus of this module
Lecture note 1: Introduction
Lecture note 2: Lexical Analysis
Lecture note 3: Introduction to Parsing
Lecture note 4: Bottom-up Parsing
Lecture note 5: Parser Generators
Lecture note 6: Abstract Syntax Trees, Symbol Tables, Semantic Analysis
Lecture note 7: Activation Records
Lecture note 8: Intermediate Representation
Lecture note 9: Translation to Intermediate Code
Lecture note 10: Canonicalisation
Lecture note 11: Introduction to Instruction Selection
Lecture note 12: Instruction Selection Algorithms
Lecture note 13: Liveness Analysis
Lecture note 14: Introduction to Register Allocation
Lecture note 15: Register Allocation for Trees,
Introduction to Compiler Transformations
Additional handout to lecture 15
D.F. Bacon, S.L. Graham, O.J. Sharp
Compiler Transformations for High-Performance Computing
ACM Computing Surveys, Vol. 26, No. (Dec. 1994), pp. 345-420
Lecture note 16: Compiler Transformations
Lecture note 17: Advanced Topics
Coursework
Coursework for the course
Past examination papers
A specimen examination paper
June 1998 exam paper
September 1998 resit paper
January 1999 class test question
June 1999 exam paper
June 2000 exam paper
June 2001 exam paper
Software
Software which you will need
Reference material
Martin Hofmann's lecture notes
Rob Pooley's lecture notes
Lecture notes: Design and Construction of Compilers
Parsing Techniques - A Technical Guide (Online book available for download)
The GENTLE Compiler Construction System (Online book available for download)
Pascal-S
A Guide to the Rochester PL/0 Compiler
PL0/E
cse401 -- Compilers
COSC230 Home Page
Some small program in PL/0
Hennessy & Paterson: Computer Organization and Design: The Hardware/Software Interface
Björn Franke, bf@dcs.ed.ac.uk.
Syllabus
·
Software
·
Documentation