Introduction to Automata, Languages and Computation (1979)

by J E Hopcroft, J D Ullman