Introduction to Automata Theory : Languages and Computation - HOPCROFT (John.C) MOTAWANI (W) ULLMAN (NEW YORK PEARSON)