16 September 2014 P5.0 (Printing)

This release fixes a number of typos in the text and in some code, including a few references to the wrong class name or filename and a critical error in the type promotion code. The discussion of switch-on-token-type visitor advantages over traditional double-dispatch visitors is now more clear.

Check out the book’s errata page for more details.

25 August 2011 P3.0 (Printing)

  • Third Printing

17 June 2010 P2.0 (Printing)

  • Second Printing

04 January 2010 P1.0 (Printing)

  • First Printing

04 November 2009 B8.0

Complete with index and copyedits, on its way to being typeset and printed.

24 September 2009 B7.0

This is the final draft–September 25, 2009

  • Finished responding to reviewers comments.
  • I did my own pass over the entire text and added acknowledgments.
  • Broke up the book into different parts to organize the chapters.
  • Replaced the source level interpreter with a much simpler SQL subset on top of some hash tables.
  • Fixed the errata listed for beta 6.x.

27 August 2009 B6.0

First draft complete. Added “Putting it all together” chapter. I go through a number of examples and leave the implementation to you. I reference suitable patterns from the book and give you the basic strategy. Fixed the errata listed for beta 5.x.

19 August 2009 B5.0

  • Chapter 12, Generating DSLs. Added a chapter on generating DSLs with StringTemplate. It gives a good introduction to ST and shows by example how to build templatedriven output models.

06 August 2009 B4.0

  • Chapter 11, Translating Computer Languages

06 July 2009 B3.0

  • Chapter 10, Building Bytecode Interpreters

26 June 2009 B2.1

There was a production problem with B2.0 such that the pattern headlines did not appear. That has been corrected in 2.1.

22 June 2009 B2.0

  • Chapter 9, Interpreting Programming Languages

03 June 2009 B1.0