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

by J E Hopcroft, R Motwani, J D Ullman