Concepts of programming languages - Sebesta, Robert W. (Addison - Wesley Publishing Company, 1996)