Расширение корпоративной архитектуры для C ++ с помощью пользовательских макросов

Я хочу провести обратный инжиниринг некоторых файлов C ++ в моей модели Enterprise Architect. Некоторые методы в моем C ++ — Source имеют префикс собственного макроса

     class Model
{
public:
Model();
MACRO1 void method1();
MACRO2 void method2();
}

Я добавил MACRO1 и MACRO2 в список макросов предварительной обработки, чтобы он вообще работал.
Но теперь я хотел бы установить стереотип метода & method2 в MACRO1 / MACRO2 во время импорта исходного кода. Это как-то возможно?

Я думаю, что аналогичная проблема обсуждалась Вот, но я не могу заставить его работать. Самая большая проблема, которую я понимаю, заключается в том, придется ли мне определять полностью BNF для C ++ самостоятельно или я могу каким-то образом расширять синтаксический анализатор Enterprise Architect.

Большое спасибо,
sitob80

2

Решение

Я прошу Sparx System о поддержке чего-то очень похожего (я хочу добавить разделители комментариев для импорта комментариев Doxygen).

Короткий ответ: вы не можете.

Длинный ответ таков: вы можете попытаться написать свою собственную грамматику в соответствии с вашим вариантом использования. К сожалению, для C ++ нет отправной точки (пример простого примера языка далек от завершения), и Sparx System не может предоставить пример C ++.

Может быть, они могут помочь:

Вы также можете попытаться создать расширение для этого и проанализировать ваш код на любом удобном для вас языке.

Ответ от Sparx System:

«Извините, мы не предоставляем пользователям возможность изменить нашу базовую грамматику импорта C ++ или предоставить ее источник».

РЕДАКТИРОВАТЬ: Обратите внимание, что вы можете, однако, изменить шаблоны генерации кода.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]