Literature and Other Resources
The course textbook is
Andrew W. Appel,
Modern Compiler Implementation in C,
Cambridge University Press, 1998, ISBN 0-521-58390-X
(reprinted with corrections, 1999; reissued, 2004).
It can be bought in the
university bookstore
for kr. 498.
Errata etc. can be found via the
book home page.
Supplementary literature and material (will be updated throughout
the course)
-
If you do not already know the C programming language, you are
recommended to purchase the following book:
Brian W. Kernighan, Dennis Ritchie,
The C Programming Language, 2. eds.,
Prentice Hall, 1988.
As a (less good, but free) alternative one can use
the WWW-book
by Holmes.
-
Ghostview,
viewer for postscript (ps) documents (Windows/Linux).
-
GNU Make, version 3.77:
ps,
html.
-
LaTeX introduction,
LaTeX
Manual,
The Not So Short Introduction to LaTeX.
-
It is possible to make somewhat nicer LaTeX-integrated inclusions
of programs into the report using specialized software:
CTAN site.
-
Flex, version 2.5.31
- A Fast Scanner Generator: ps.
-
Bison
- The YACC-Compatible Parser Generator.
-
The style file bnf.sty can be a help in type setting the grammar:
bnf.sty, LaTeX-example.
-
Karen Miller,
An Assembly Language Introduction to Computer Architecture -
using the Intel Pentium,
Oxford University Press, New York, 1999, kapitel 10
(hand-outs at the lecture).
-
Differences between Intel and ATT syntax.
-
GNU Assembler
Manual.
-
GNU Assembler Program Examples.
-
Handling division in GAS:
div.c, div.s.
-
Suggestion for a stack frame layout: pdf,
ps.
-
Suggestion for "abstract" assembler code:
pdf,
ps.
-
Examples of code generation templates:
pdf,
ps.
-
A note on lattices and fixed points:
small targeted version,
complete version.
-
Copies of lecture notes have been handed out for the following topics:
- Scanner & parser (22 transparencies)
- Abstract syntax trees (14 transparencies)
- Symbol tabels & scope (8 transparencies)
- Call conventions and stack layout (3 transparencies)
- Peep-hole optimization (4 transparencies)
- Register allocation via liveness analyse (19 transparencies)
- Garbage collection (22 transparencies)
Last modified: Tue Apr 24 10:31:23 CEST 2007
Kim Skak Larsen
(kslarsen@imada.sdu.dk)