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