Все же копипаста в таком объеме это тяжко и неподдерживаемо, а структурная схожесть генерации для разных языков очевидна. Так что решил таки разделить визиторы, прелюдию и тесты. Можно будет общий сет визиторов указать отдельно где брать, а прелюдию и тесты для конкретного языка или все для конкретного языка. Тогда можно будет все легко переиспользовать. Не хочу потом для джавы и раста отдельно скрипты поддерживать, там разницы десять строк.