This book was written for use in the introductory compiler course at DIKU, the department of computer science at the University of Copenhagen, Denmark.
It is intended to convey the general picture without going into extreme detail about such things as efficient implementation or the newest techniques. It should give the students an understanding of how compilers work and the ability to make simple (but not simplistic) compilers for simple languages. It will also lay a foundation that can be used for studying more advanced compilation techniques, as found e.g. in Advanced Compiler Design and Implementation.