Programming languages design and implementation - PRATT, Terrence W. (New Delhi Prentice Hall of India, 1996)