Я хочу провести обратный инжиниринг некоторых файлов 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
Я прошу Sparx System о поддержке чего-то очень похожего (я хочу добавить разделители комментариев для импорта комментариев Doxygen).
Короткий ответ: вы не можете.
Длинный ответ таков: вы можете попытаться написать свою собственную грамматику в соответствии с вашим вариантом использования. К сожалению, для C ++ нет отправной точки (пример простого примера языка далек от завершения), и Sparx System не может предоставить пример C ++.
Может быть, они могут помочь:
Вы также можете попытаться создать расширение для этого и проанализировать ваш код на любом удобном для вас языке.
Ответ от Sparx System:
«Извините, мы не предоставляем пользователям возможность изменить нашу базовую грамматику импорта C ++ или предоставить ее источник».
РЕДАКТИРОВАТЬ: Обратите внимание, что вы можете, однако, изменить шаблоны генерации кода.
Других решений пока нет …