Introduction to languages and theory of computation - Martin, John C. (McGraw-Hill, 2003)