Introduction to Automata Theory, Languages, and Computation by John E. Hopcroft - WordSea