Introduction to automata theory languages, and computation - Hopcroft, John E; Ullman, Jeffrey D (Addison-Wesley series in computer science, 1979)