A Second Course in Formal Languages and Automata Theory
Written for graduate students and advanced undergraduates in computer science, A Second Course in Formal Languages and Automata Theory treats topics in the theory of computation not usually covered in a first course. After a review of basic concepts, the book covers combinatorics on words, regular languages, context-free languages, parsing and recognition, Turing machines, and other language classes. Many topics often absent from other textbooks, such as repetitions in words, state complexity, the interchange lemma, 2DPDAs, and the incompressibility method, are covered here. The author places particular emphasis on the resources needed to represent certain languages. The book also includes a diverse collection of more than 200 exercises, suggestions for term projects, and research problems that remain open.
- Covers many topics, such as repetitions in words, state complexity, the interchange lemma, 2DPDAs and the compressibility method, not covered in other textbooks
- Includes 200 exercises
- Each chapter offers suggestions for term projects and research problems in the area
Reviews & endorsements
'First courses in automata theory are now essential for both mathematicians and computer scientists, and there are some fine books from which one can learn the basics. But the question is: what next? … There is … a niche for second courses on automata theory that point the way to future study in the field without bludgeoning the reader under the weight of pages. At a shade under 250 pages Jeffrey Shallit's book is just such a second course. … The writing is crisp and no nonsense … Shallit has written a mathematically rigorous book that has avoided the pitfall of being unduly fussy.' SIAM Review
Product details
No date availableAdobe eBook Reader
9780511434044
0 pages
0kg
12 tables 241 exercises
Table of Contents
- 1. Review of formal languages and automata theory
- 2. Combinatorics on words
- 3. Finite automata and regular languages
- 4. Context-free grammars and languages
- 5. Parsing and recognition
- 6. Turing machines
- 7. Other language classes.