Elements of automata theory - Jacques Sakarovitch translated by Reuben Thomas (Cambridge University Press)