Introduction to Automata Theory, Languages, and Computation (3rd Edition (2006)

by J E Hopcroft, R Motwani, J D Ullman