Programming languages design and implementaion - Pratt (Prentice Hall, 1995)