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