Introduction To Automata Theory, Languages And Computation - Hopcroft, John E; Motwani, Rajeev; Ullman, Jeffery D (New Delhi Addison- Wesley, 2002)