An introduction to formal languages and automata - Linz, Peter (Jones and Bartlett Publishers, 1997)