Other good books on compilers

Although quite aged, the first edition of the
dragon book (1986) covers the main contents
of TDDB29 and TDDB44 fairly well.
Note that, for instance, the concepts of lexical, syntactic
and semantic analysis are basically unchanged
since the dragon book was written.
Even though many new results exist in the areas of
intermediate representations, program analysis, and code generation and
optimization, these advanced topics can hardly be taken up in TDDB29/TDDB44
because time is really limited.
Instead, we are planning for a new follow-up course
TDDC86 Compiler optimizations and code generation, 4p
which will be given for the first time in autumn 2008.

Beyond the old and new dragon book,
we can also recommend the following compiler books:

Wilhelm, Maurer: Compiler Design. Addison-Wesley, 1995.Comprehensive but fairly formal. It says more about parsing theory than the dragon book.
Good coverage of compiling for functional and logic programming languages, too.
Also available in German and French. The german version (Springer 1992) actually
contains more about parsing theory than the English translation.

There are many other good books on compilers, but these often focus on quite advanced issues
(advanced analysis, restructuring, parallelisation, optimizations, code generation...)
and are therefore less suitable as a textbook for this introductory course.