P5.0 (Printing) - 16 September 2014

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.

P3.0 (Printing) - 25 August 2011

  • Third Printing

P2.0 (Printing) - 17 June 2010

  • Second Printing

P1.0 (Printing) - 04 January 2010

  • First Printing

B8.0 - 04 November 2009

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

B7.0 - 24 September 2009

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.

B6.0 - 27 August 2009

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.

B5.0 - 19 August 2009

  • 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.

B4.0 - 06 August 2009

  • Chapter 11, Translating Computer Languages

B3.0 - 06 July 2009

  • Chapter 10, Building Bytecode Interpreters

B2.1 - 26 June 2009

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

B2.0 - 22 June 2009

  • Chapter 9, Interpreting Programming Languages

B1.0 - 03 June 2009