Programming languages principles and practice - Louden, Kenneth C (Thomson Books/Cole, Australia, 2003)