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