This book is a rigorous exposition of formal languages and models of computation, with an introduction to computational complexity. The authors present the theory in a concise and straightforward manner, with an eye out for the practical applications. Exercises at the end of each chapter, including some that have been solved, help readers confirm and enhance their understanding of the material. This book is appropriate for upper-level computer science undergraduates who are comfortable with mathematical arguments.
The book is in pdf format and its size is about 50 MBytes

http://www.eazyupload.net/download/3LTv89b3/0201441241.zip.htm

http://rapidshare.com/files/3788226/0201441241.zip

http://rapidshare.com/files/4750498/0201441241.zip