Introduction to languages and the theory of computation.-2nd ed. - Martin, John C. (McGraw-Hill, 1997)