2009-05-19 6 views
5

Dans le passé, j'ai utilisé Doxygen pour C et C++, mais maintenant, j'ai été lancé sur le projet Fortran et j'aimerais avoir un aperçu rapide de l'architecture.Fonctionnalité de type Autodocumentation pour Fortran?

Dans le passé, j'ai trouvé des outils de rétro-ingénierie pour être utile là où aucune documentation de l'architecture existe. Alors, y a-t-il un outil qui inverse l'ingénierie du code Fortran?

J'ai essayé d'utiliser Doxygen, mais je n'ai pas eu de chance. Je vais travailler avec deux projets différents - un Fortran 90 et je pense est en Fortran 77.

Merci pour vos idées et vos commentaires.

Répondre

3

outils qui peuvent aider à l'ingénierie inverse:
SciTools Understand
Link with some more tools (search "fortran")

Aussi, peut-être certains de ces cadres de tests unitaires sera utile (je ne l'ai pas utilisé eux, donc je ne peux pas commenter les pros et contre l'un d'eux):
FUnit
FRUIT
Ftnunit
(ces liens lien vers fortranwiki, où vous pouvez trouver une friandise sur chacun d'entre eux, et à partir de là, il y a des liens vers leurs sites d'origine).

+0

Eh bien, les SciTools sont prometteurs, mais actuellement je suis à la recherche d'une solution OpenSource. On dirait que FUnit a été rassis pendant environ 6 mois, et une durée similaire pour FRUIT et Ftunit. Je suppose que la recherche continue, mais il est un peu surprenant que rien de tel n'existe pour FORTRAN depuis combien de temps il existe. – JustADude

+0

Ce n'est pas que rien n'existe. C'est juste que l'ingénierie inverse n'est pas quotidienne dans l'industrie du fortran. Ce n'est pas si commun d'ailleurs. Personnellement, je ne l'ai jamais fait et j'utilise Fortran depuis longtemps. Vous pourriez avoir un peu de chance sur comp.lang.fortran – Rook

3

Doxygen 1.6.1 générera de la documentation, des graphiques d'appels, etc. pour le code source Fortran au format libre (F90). Vous n'avez pas de chance de documenter automatiquement le format fixe (F77) avec doxygen.

Tout n'est pas perdu, cependant. La conversion du format fixe en format libre est simple et peut être automatisée dans une large mesure - changer les caractères de commentaire en '!', Changer les caractères de continuation en '&' et ajouter '&' aux lignes à suivre. En fait, si le caractère de continuation ajouté est placé dans la colonne 73, il devrait être ignoré par les compilateurs F77 standard (qui ne reconnaissent toujours que le code des colonnes 1 à 72) mais seront reconnus par les compilateurs F9x/F2003/F2008. Cela permet au même code d'être reconnu à la fois en format fixe et en format libre, ce qui vous permet de migrer gracieusement d'un format à l'autre. Commodément, il y a environ un millier de petits programmes qui effectueront ce réglage de format à un degré ou à un autre. De façon réaliste, si vous maintenez le code, vous pourriez aussi bien l'écarter de la spécification de 1928 pour les cartes perforées Hollerith (IBM). :)

Questions connexes