An introduction to formal languages and automata - Linz, Peter (Heath, 1990)