JavaCC не удаляет существующие сгенерированные классы, когда вы переключаете его на статический.Это происходит в случае, если вы внесли изменения в классы или предоставили свои собственные версии.
Удалите все сгенерированные классы, установите «static = true» и начните заново.Все должно работать.
Если вы автоматизируете сборки (например, с помощью Ant), было бы неплохо всегда удалять и регенерировать сгенерированные JavaCC классы, просто чтобы убедиться, что то, что вы тестируете, воспроизводимо.
Что касается Eclipse ... Вы можете указать ему запускать ваш скрипт Ant, когда вы вносите изменения во входные файлы JavaCC.