Introduction to automata theory, languages, and computation - Hopcroft, John E (Narosa, 1999)