Introduction to Automata Theory Languages - Hopcroft , Ullman (New York Viva Books, 1999)