Syntax and Semantics of Programming Languages (1995)