Einführung in Automatentheorie, Formale Sprachen und Berechenbarkeit by John E. Hopcroft