Language Theory
The Definitive ANTLR4 Reference by Terrence Parr

This is the book I used to learn how to create DarANTLR. It helpfully works one through the basics of grammar creation thorugh the most advanced features of ANTLR. A must read for grammar design. Even if you don't use ANTLR it can teach you a ton about the principles of grammar design.