A wide-ranging and in-depth coverage of fundamental programming language concepts, presenting design issues of the various language
constructs, and examining the design choices for these constructs in a range of the most popular contemporary programming languages.
Language design alternatives are examined and critiqued. Methods of syntax description, common approaches to describing the
semantics of programming languages, and various implementation approaches are covered.