Beginning with formal language theory and parsing, this book thoroughly covers the fundamental topics of the theory of computer science. It examines the languages of the Chomsky hierarchy, the grammars that generate them, and the finite automata that accept them. The development of abstract machines continues with the Church-Turing thesis and computability theory. Computational com- plexity and…