Programming Languages Principles And Practices - Louden,Kenneth C and Lambert, Kenneth A. (Cengage Learning Andover andover)