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