Introduction to languages and the theory of computation - Martin, John C (Tata McGraw Hill, New Delhi, 1997)