Programming languages : design and implementation - Pratt, Terrence W. (Pearson/Prentice Hall, 2006)