In spite of the rapid growth of interest in the computer analysis of language, this book provides an integrated introduction to the field. Inevitably, when many different approaches are still being considered, a straightforward work of synthesis would be neither possible nor practicable. Nevertheless, Ralph Grishman provides a valuable survey of various approaches to the problems of syntax analysis, semantic analysis, text analysis and natural language generation, while considering in greater detail those that seem to him most productive. The book is written for readers with some background in computer science and finite mathematics, but advanced knowledge of programming languages or compilers is not necessary and nor is a background in linguistics. The exposition is always clear and students will find the exercises and extensive bibliography supporting the text particularly helpful.