Cover of Introduction to Automata Theory, Languages, and Computation on the Open Library. I prefer Sipser’s introduction to the theory of computation.