Introduction to languages and the theory of computation - Martin, John C. (McGraw-Hill series in computer science, 1997)