Introduction to automata theory, languages, and computation - Hopcroft, John ...et al (Pearson Education, 2001)