Programming language concepts - Ghezzi, Carlo (John Wiley, 1998)