Designed for computer science students studying for a second or final year course in compilers/programming language translation, this text manages to combine theory, practical applications and enough use of compiler writing tools to give students a solid introduction to the subject. The text provides enough theory to allow the reader insight into areas of programming language design and implementation - without overwhelming the student with too much maths. It also provides case studies of translators (which completes a small assembler compiler). The illustrations in the book concentrate on the use of C++, whilst limited object-oriented features are explained.