A title in the Artificial Intelligence Texts series, this book is intended for students in the later years of a degree course in computer science, and will also be of use in MSc courses. It assumes a good knowledge of programming but does not assume any knowledge of artificial intelligence techniques. The book is in two parts; Part 1 develops in easy stages a natural language (NL) interface to a microcomputer graphics facility. It illustrates many aspects of NL processing but avoids philosophical arguments about the meaning of meaning. The main vehicle for analysis and exposition is the ATN and its programming language POP2/POPII, which is introduced as a flexible list processing language with Pascal-like features. Part 2 is a reference text on more general aspects of NL processing.