An introduction to formal language and automata - Linz, Peter . (Jones and bartlett, 2006)