Introduction to Automata Theory, Langauges, and Computation. - Hopcroft, John E. (Saint Joseph's University, 2003)