CS402 - Theory of Automata
Introduction to Computer Theory
by Daniel I. A. Cohen
Introduction to Languages and the Theory of Computation by John C. Martin