Written to address the fundamentals of formal languages, automata, and computabilty, An Introduction to Formal Languages and Automata provides an accessible, student-friendly presentation of all material essential to an introductory Theory of Computation course. It is designed to familiarize students with the foundations and principles of computer science and to strengthen the students’ ability to carry out formal and rigorous mathematical arguments. In the new Fifth Edition, Peter Linz continues to offer a straightforward, uncomplicated treatment of formal languages and automata and avoids excessive mathematical detail so that students may focus on and understand the underlying principles. In an effort to further the accessibility and comprehension of the text, the author has added new illustrative examples and exercises throughout. New and Key Features of the revised and updated Fifth Edition: Includes a new chapter within the appendices on finite-state transducers, including basic results on Mealy and Moore machines. This optional chapter can be used to prepare students for further related study. Provides an introduction to JFLAP, also within the appendices. Many of the exercises in the text require creating structures that are complicated and that have to be tested for correctness. JFLAP can greatly reduce students time spent on testing as well as help them visualize abstract concepts. A CD-ROM accompanies every new copy of the text and contains the following: A summary description of JFLAP; Numerous new exercises that illustrate the value and efficiency of JFLAP; JFLAP implementations of most of the examples in the text that allow students and instructors to experiment dynamically with these examples.