Функциональность типа автодокументации для Fortran?
-
22-08-2019 - |
Вопрос
В прошлом я использовал Doxygen для C и C ++, но теперь меня занесло в проект Fortran, и я хотел бы получить быстрый всеобъемлющий взгляд на архитектуру.
В прошлом я обнаружил, что инструменты обратного инжиниринга полезны там, где не существует документации по архитектуре.
Итак, существует ли инструмент, который будет перепроектировать код Fortran?
Я пытался использовать Doxygen, но безуспешно.Я буду работать с двумя разными проектами - один на Fortran 90 и, я думаю, на Fortran 77.
Спасибо за любые идеи и отзывы.
Решение
Инструменты, которые могут помочь в обратном проектировании:
Скитулы Понимают
Ссылка на некоторые другие инструменты (поиск "fortran")
Кроме того, возможно, некоторые из этих фреймворков модульного тестирования окажутся полезными (я ими не пользовался, поэтому не могу комментировать плюсы и минусы любого из них).:
Забавный
ФРУКТЫ
Модуль Ftnunit
(эти ссылки ведут на fortranwiki, где вы можете найти интересную информацию о каждой из них, а оттуда идут ссылки на их домашние сайты).
Другие советы
Doxygen 1.6.1 будет генерировать документацию, графики вызовов и т.д.для исходного кода Fortran в формате free-format (F90).Вам не повезло с автоматическим документированием кода фиксированного формата (F77) с помощью doxygen.
Однако еще не все потеряно.Преобразование из фиксированного формата в свободный является простым и может быть в значительной степени автоматизировано - измените символы комментария на "!", замените символы продолжения на "&" и добавьте "&" к строкам, которые необходимо продолжить.Фактически, если добавленный символ продолжения помещен в столбец 73, он должен игнорироваться стандартными компиляторами F77 (которые по-прежнему распознают код только в столбцах с 1 по 72), но будет распознан компиляторами F9x / F2003 / F2008.Это позволяет распознавать один и тот же код как в фиксированном, так и в свободном формате, что позволяет вам изящно переходить из одного формата в другой.
Удобно, что существует около тысячи небольших программ, которые в той или иной степени выполнят эту настройку формата.Реально, если вы собираетесь поддерживать код, вы могли бы также убрать его из спецификации 1928 года для перфокарт Hollerith (IBM).:)