Do not check in classes generated by sablecc.  The classes already checked in are enhanced by hand in several ways and rebuilding from the grammar will cause the those hand made changes to be lost.   If you need to rebuild from the grammar, you'll need to *merge* the generated classes with the classes we already have checked in.  I suggest you build first without any grammar changes so that you can see what was generated before we made our changes.  This will allow you to do a three way merge.

I've included the sablecc build that I used here.