Introduction to automata theory, languages, and computation - Hopcroft, John E. & Ullman, Jeffrey D. (Addison-Wesley publishing company, London, 1979)