Introduction to automata theory, languages, and computation - Hopcroft, John E. (Addison-Wesley Publishing Company, Inc, 2001)