Introducing methods for implementing programming languages, David Watt shows how to write simple compilers and interpreters, relating these clearly to the syntax and semantics of the source language. qpa Following a top-down approach, the illustrated text, which contains a working compiler and interpreter for a small programming language, starts by viewing compilers and interpreters as "black boxes", then goes on to examine their working in more and more detail. There is a full exploration of the relationship of syntactic analysis to the source language's syntax, and the relationship of code generation and interpretation to its semantics.