2009-05-19 64 views
5

在過去,我已經使用Doxygen for C和C++,但現在我已經在Fortran項目上投入了工作,並且希望能夠快速全面地瞭解這個架構。Fortran的Autodocumentation類型功能?

在過去,我發現反向工程工具在沒有該體系結構的文檔存在的情況下很有用。

那麼,那裏有一個工具可以反向工程Fortran代碼嗎?

我試圖使用Doxygen,但沒有任何運氣。我將與兩個不同的項目合作 - 一個Fortran 90和我認爲是Fortran 77.

感謝您的任何見解和反饋。

回答

3

工具可與逆向工程幫助:
SciTools Understand
Link with some more tools (search "fortran")

而且,也許一些單元測試框架將是有幫助的(我沒有使用過他們,所以我不能對正反意見和其中的任何缺點):
FUnit
FRUIT
Ftnunit
(這些鏈接鏈接到fortranwiki,在那裏你可以找到他們每個人的珍聞,並從那裏有鏈接到他們的家鄉網站)。

+0

那麼,SciTools看起來很有前途,但目前我正在尋找一個OpenSource解決方案。看起來FUnit已經陳舊了大約6個月左右,而FRUIT和Ftunit的時間也差不多。我猜這個搜索還在繼續,但有一點讓人驚訝,即FORTRAN已經存在多長時間了。 – JustADude 2009-05-20 01:49:27

+0

這不是沒有任何東西存在。這只是在fortran行業中,逆向工程並非每天都在進行。這件事在任何地方都不常見。就我個人而言,我從來沒有這樣做過,而且我一直在使用fortran很久。你可能會在comp.lang.fortran上問一些問題 – Rook 2009-05-20 04:36:48

3

Doxygen 1.6.1將爲自由格式(F90)格式的Fortran源代碼生成文檔,調用圖等。使用doxygen自動記錄固定格式(F77)代碼的運氣不大。

然而,所有的都不會丟失。從固定格式到自由格式的轉換非常簡單,可以在很大程度上實現自動化 - 將註釋字符更改爲'!',將連續字符更改爲'&',並將'&'附加到要繼續的行。實際上,如果將附加的繼續字符放在第73列中,標準F77編譯器(它仍然只能識別第1列到第72列中的代碼)應該忽略它,但會被F9x/F2003/F2008編譯器識別。這允許相同的代碼被識別爲固定格式和自由格式,這可以讓您從一種格式正常遷移到另一種格式。

方便的是,大約有一千個小程序會在某種程度上進行這種格式調整。實際上,如果您要維護代碼,那麼您最好將它從1928年針對Hollerith(IBM)衝卡的規格中移除。 :)