The Dragon Book by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman is widely considered to be the "bible". (ISBN 0201100886) [Amazon]
A good place to start would be Constructing Language Processors for Little Languages by Randy M. Kaplan. It covers the basics of lexing and parsing very, very well, and also discusses the issues behind language design in the process. The author unfortunately gives little attention to the runtime aspects of language construction (for example, there's no discussion on how to execute a loop) but the material that is there is MUCH more approachable than the dragon book. (ISBN 0471597538)
Finkel's Advanced Programming Language Design covers design aspects of many types of languages. (ISBN 0805311912)
An excellent book is Allan Holub's Compiler Design in C. Besides theory, this book presents practical implementation details that many other books leave as an exercise for the reader. Also makes excellent ballast for non-CS types. See Holub's site . (ASIN 0131550454)
Check out the comp.compilers FAQ for more book reviews.