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