Sections of this book, Compiling Techniques, originated as Lecture Notes for a Summer School for Systems Programmers organised by the Ministry of Technology's Advanced Computer Techniques Project in June 1966. I would like to thank Her Majesty's Stationery Office for permission to use this material.