An introduction to formal languages and automata - Linz, Peter (D.C. Heath and Company, 1996)