Programming languages : design and implementation - Pratt, Terrence W. (Prentice-Hall International, 1996)