A second course in formal languages and automata theory - Scallit,Jaffrey (New York Cambridge UP, 2009)