Я ищу способ извлечь все функции, найденные в заголовочном файле C++, включая комментарии для соответствующей функции, которые находятся поверх определения функции.
Идея состоит в том, чтобы создать список всех функций в файле, чтобы попасть в файл CSV или Excel. Я хотел бы иметь на каждой строке:
Имя файла заголовка; Только имя функции; Полная подпись функции; Комментарии в коде для этой функции
Пример (из файла someHeader.h):
// This is the multi-line
// comment for the DoSomething function.
void DoSomething (int CleverParameter);
превратился в
someHeader.h;DoSomething;void DoSomething (int CleverParameter);This is the multi-line comment for the DoSomething function.
Мне не нужны умные синтаксические разборки и разрешение типа/зависимости или такие вещи. У меня есть VisualStudio 2010 и 2012 у меня в руках. Также не бойтесь Linux или Windows-инструментов командной строки. Если пробелы будут очищены в процессе, это будет здорово.
Написание достойного анализатора C++ будет непростой задачей.
Возможным решением было бы использовать генератор документации, такой как Doxygen, он не включает полный анализатор C++, но этого должно быть достаточно для вашей цели:
Это не идеальное решение, но это определенно будет более надежным, чем подход с регулярным выражением, и не потребует большого количества кода, чтобы заставить его работать.
Вы также можете использовать библиотеки Boost для этой цели.