Fundamentals of programming languages - Horowitz, Ellis (Springer, 1983)