Я предпочитаю создавать (статический) Регистратор для каждого класса (с, он - явное имя класса). Я, чем использую регистратор как есть.
JavaCC не требует собственного JAR времени выполнения (код, который он генерирует, выполняется сам по себе), тогда как ANTLR требует.
Javacc невероятно легко узнать, если вы уже знаете Java. Синтаксис очень похож на стандартный синтаксис Java, а различия интуитивно понятны.