Introduction to Automata Theory, Languages, and Computation (1979)

by J E Hopcroft, J D Ullman