- Full Description
A Concise Introduction to Languages, Machines and Logic provides an accessible introduction to three key topics within computer science: formal languages, abstract machines and formal logic. Written in an easy-to-read, informal style, this textbook assumes only a basic knowledge of programming on the part of the reader. The approach is deliberately non-mathematical, and features: - Clear explanations of formal notation and jargon, - Extensive use of examples to illustrate algorithms and proofs, - Pictorial representations of key concepts, - Chapter opening overviews providing an introduction and guidance to each topic, - End-of-chapter exercises and solutions, - Offers an intuitive approach to the topics. This reader-friendly textbook has been written with undergraduates in mind and will be suitable for use on course covering formal languages, formal logic, computability and automata theory. It will also make an excellent supplementary text for courses on algorithm complexity and compilers.
- Table of Contents
Table of Contents
- Part One: Languages and Machines.
- Elements of Formal Languages.
- Syntax, Semantics and Ambiguity.
- Regular Languages and Finite State.
- Context Free Languages and Pushdown Recognisers.
- Important Features of Regular and Context Free Languages.
- Phrase Structure Languages and Turing Machines.
- Part Two: Machines and Computation.
- Finite State Transducers.
- Turing Machines as Computers.
- Turing’s Thesis and The Universality of the Turing Machine.
- Computability, Solvability and the Halting Problem.
- Dimensions of Computation.
- Further Reading.
- Solutions to Selected Exercises.
Please Login to submit errata.No errata are currently published