Наш инструментарий реинжиниринга программного обеспечения DMS имеет полный синтаксический анализатор C ++ с таблицей символов и может напрямую генерировать XML для дерева разбора. DMS предназначен для индивидуальной настройки; было бы почти тривиально заставить его сбросить таблицу символов в виде XML. Он обеспечивает полный доступ к декларации и информации о теле функции. Обратите внимание, что XML-код может быть довольно большим для 1000-строчной программы C ++.
Однако, если у вас есть XML, вы не сможете восстановить из него исходный код C ++.
DMS предназначен для поддержки пользовательских задач анализа и генерации кода. Если вы остаетесь «внутри» DMS, вы можете сгенерировать AST C ++ и данные таблиц символов в свое удовольствие, проанализировать код на наличие проблем и / или преобразовать AST C +, и когда все будет готово, распечатать AST обратно в легальный, компилируемый код C ++.
Да, его активно поддерживают.