The book collects and condenses the experience of years of teaching compiler
courses and doing research on formal language theory, on compiler and language
design, and to a lesser extent on natural language processing. In the
turmoil of information technology developments, the subject of the book has
kept the same fundamental principles over half a century, and its relevance
for theory and practice is as important as in the early days.
This state of affairs of a topic, which is central to computer science and
is based on consolidated principles, might lead us to believe that the accompanying
textbooks are by now consolidated, much as the classical books on
mathematics. In fact this is rather not true: there exist fine books on the
mathematical aspects of language and automata theory, but the best books
on translators are sort of encyclopaedias of algorithms, design methods, and
practical know-how used in compiler design. Indeed a compiler is a microcosm,
featuring a variety of aspects ranging from algorithmic wisdom to CPU
and memory exploitation. As a consequence the textbooks have grown in size,
and compete with respect to their coverage of the last developments on programming
languages, processor architectures and clever mappings from the
former to the latter.