Formal Languages and Computation: Models and Their Applications gives a clear, comprehensive introduction to formal language theory and its applications in computer science. It covers all rudimental topics concerning formal languages and their models, especially grammars and automata, and sketches the basic ideas underlying the theory of computation, including computability, decidability, and computational complexity. Emphasizing the relationship between theory and application, the book describes many real-world applications, including computer science engineering techniques for language processing and their implementation.
In short, this book represents a theoretically oriented treatment of formal languages and their models with a focus on their applications. It introduces all formalisms concerning them with enough rigors to make all results quite clear and valid. Every complicated mathematical passage is preceded by its intuitive explanation so that even the most complex parts of the book are easy to grasp. After studying this book, both student and professional should be able to understand the fundamental theory of formal languages and computation, write language processors, and confidently follow most advanced books on the subject.
Chapter 1: Mathematical Background
Chapter 2: Formal Languages and Rewriting Systems
Chapter 3: Models for Regular Languages
Chapter 4: Applications of Regular Expressions and Finite Automata: Lexical Analysis
Chapter 5: Properties of Regular Languages
Chapter 6: Models for Context-Free Languages
Chapter 7: Applications of Models for Context-Free Languages: Syntax Analysis
Chapter 8: Properties of Context-Free Languages
Chapter 9: Turing Machines and Their Variants
Chapter 10: Applications of Turing Machines: Theory of Computation
Chapter 11: Turing Machines and General Grammars
Chapter 12: Concluding and Bibliographical Remarks
Appendix I: Index to Special Symbols
Appendix II: Index to Language Models