Concepts of programming languages - Sebesta, Robert W. (Pearson/Addison-Wesley, 2005)