Essentials Of Programming Languages by Eugene Mitchell; Kohlbecker Daniel; Wand Friedman