Существуют ли активно поддерживаемые инструменты, которые могут преобразовать код C ++ в xml? - PullRequest
2 голосов
/ 19 февраля 2010

Существуют ли какие-либо инструменты, которые могут преобразовать код C ++ в xml или какой-либо другой формат, который было бы легче проанализировать? Было бы замечательно, если бы у него была возможность вернуть xml обратно в C ++. Я уже знаю о формате xml doxygen ... возможно, это только я, но я не нахожу это особенно полезным.

Ответы [ 3 ]

6 голосов
/ 19 февраля 2010

Что-то вроде gcc xml ?

2 голосов
/ 19 февраля 2010

Как я недавно узнал, поддержка clangs C ++ близится к завершению, и его API (классы с префиксом CXX) выглядит довольно хорошо.
Возможно, его текущая поддержка достаточна для ваших нужд.

1 голос
/ 09 марта 2010

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

Однако, если у вас есть XML, вы не сможете восстановить из него исходный код C ++.

DMS предназначен для поддержки пользовательских задач анализа и генерации кода. Если вы остаетесь «внутри» DMS, вы можете сгенерировать AST C ++ и данные таблиц символов в свое удовольствие, проанализировать код на наличие проблем и / или преобразовать AST C +, и когда все будет готово, распечатать AST обратно в легальный, компилируемый код C ++.

Да, его активно поддерживают.

...