Generating Parsers with JavaCC, Second Edition now available

27 Oct 2009

We're now shipping the second edition of my JavaCC book, Generating Parsers with JavaCC!

Creating this second edition was a labor of love. I went through every page of the first edition and found all the places where JavaCC had moved out from under the book. I've brought those bits up to date, added new sections all over, fixed numerous typos, added more index entries, and generally given it a thorough house cleaning. This second edition also benefits from the intervening two years during which I worked on the JavaCC code and answered questions from folks on the javacc-users mailing list. And I've generally had a little more time to digest some of the information in the first edition, so I think the second edition is improved because of that.

So, what does the second edition include? Here's a sampling:

  • Discussion of new JavaCC features like TRACK_TOKENS, TOKEN_EXTENDS, SUPPORT_CLASS_VISIBILITY_PUBLIC, TOKEN_FACTORY, and more.
  • Details of new JJTree features like NODE_CLASS, VISITOR_DATA_TYPE, VISITOR_RETURN_TYPE, and more.
  • Updated examples to reflect JavaCC's current defaults - e.g., JDK_VERSION is now 1.5 by default, the options block is now optional if empty, and more.
  • Updated chapter 8 (Case Study: The JavaCC Grammar) to reflect latest JavaCC grammar.
  • Update software versions used throughout - the second edition uses much more recent versions of Java, Maven, JUnit, Jaxen.
  • Changes since JavaCC 4.0 are flagged in the index for easy lookup.
  • Many small fixes to the text, to examples, to code samples.

I'm excited to get this second edition out there; I think folks will find that it's a nice refresh of the original content. Enjoy!