Introduction To Automata Theory, Languages, And Computation - John E. Hopcroft (Marcine theory, 1979)