Programming languges : design & Implementation - Pratt, Terrence W (1985)