Programming languages : design and implementation - PRATT (Prentice Hall, 2001)