Dmitry Ponyatov
но ведь исходные данные не насколько широкие — жёстко фиксированные классы, которые сами знают как себя транслировать, и ограниченное количество комбинаций
если их компоновать — получаем либо синтезируемую структуру, либо ошибку когда *компилятор модели* не знает что делать с какими-то элементами
Это возможно только если у вас объем информации в исходном "сигнале" существенно меньше, чем в конечном. Тогда вы разворачиваете просто по готовым шаблонам. Если у вас выразительность исходного языка сравнима с выразительностью конечного, то обязательно будут непереводимые конструкцие, которые надо переводить "по смыслу", а не структурно. И вот тут читаемость теряется. Я не готов спорить, тут надо залезать в аппарат анализа естественных языков, я им не владею.