My publisher, Centennial Books, is running a promotional deal - if you buy my JavaCC book you also get a copy - free! - of my PMD book. The two books should complement each other pretty well - the JavaCC book will give you all the fundamentals on JavaCC and JJTree, and the PMD book will provide an example of an application written on top of those fine tools. Enjoy!
Speaking of JavaCC, I came across an interesting post a week or so ago about a Java to Delphi converter that apparently uses JavaCC. There are some code samples there that show the result of the conversion process. Makes me wonder if they do anything to translate object usages and such - is there a Delphi equivalent for ArrayList? That seems to be one of the hard parts of a source to source translation like that... although even if you can't do object usage mappings, a translation tool might get you 90% of the way there. But that last 10% might have to be a manual process.