Concepts of programming languages - Sebesta, Robert W (Pearson Education Limited, 2016)