Функциональность типа автодокументации для Фортрана? - PullRequest
5 голосов
/ 19 мая 2009

Раньше я использовал Doxygen для C и C ++, но теперь я был замешан в проекте на Fortran, и я хотел бы быстро взглянуть на архитектуру.

В прошлом я обнаружил, что инструменты обратного инжиниринга полезны там, где нет документации по архитектуре.

Итак, есть ли инструмент для обратного проектирования кода на Фортране?

Я пытался использовать Doxygen, но безуспешно. Я буду работать с двумя разными проектами - один Fortran 90, и я думаю, что в Fortran 77.

Спасибо за любые идеи и отзывы.

Ответы [ 2 ]

3 голосов
/ 17 октября 2009

Doxygen 1.6.1 сгенерирует документацию, графы вызовов и т. Д. Для исходного кода Fortran в формате свободного формата (F90). Вам не повезло с автоматическим документированием кода фиксированного формата (F77) с помощью doxygen.

Однако еще не все потеряно. Преобразование из фиксированного в свободный формат является простым и может быть в значительной степени автоматизировано - измените символы комментария на «!», Измените символы продолжения на «&» и добавьте «&» к строкам, чтобы продолжить. Фактически, если добавленный символ продолжения помещается в столбец 73, он должен игнорироваться стандартными компиляторами F77 (которые все еще распознают код только в столбцах 1–72), но будет распознаваться компиляторами F9x / F2003 / F2008. Это позволяет распознавать один и тот же код как в фиксированном, так и в свободном формате, что позволяет плавно переходить из одного формата в другой.

Удобно, что существует около тысячи небольших программ, которые в той или иной степени выполняют эту настройку формата. Реально, если вы собираетесь поддерживать код, вы также можете отодвинуть его от спецификации 1928 года для перфокарт Hollerith (IBM). :)

3 голосов
/ 19 мая 2009

Инструменты, которые могут помочь с реверс-инжинирингом:
SciTools Understand
Связь с некоторыми другими инструментами (поиск "fortran")

Кроме того, возможно, некоторые из этих платформ модульного тестирования будут полезны (я не использовал их, поэтому не могу комментировать плюсы и минусы любого из них):
FUnit
FRUIT
Ftnunit
(эти ссылки ссылаются на фортранвики, где вы можете найти лакомый кусочек на каждом из них, а оттуда есть ссылки на их домашние сайты).

...