This best-selling book, now in its fourth edition, provides a wide-ranging and in-depth discussion of programming language concepts. As in previous editions, author Bob Sebesta describes fundamental concepts of programming languages by presenting design issues of the various language constructs, examining the design choices for these constructs in a few common languages, and critically comparing the design alternatives. The book covers the most widely used methods of syntax description and introduces the most common approaches to describing the semantics of programming languages. Discussions of implementation methods and issues are integrated throughout the book.