Concepts of programming languages - Sebesta Robert W Ed. (1996)