2012-05-23 93 views
2

我正在一半的Lua和一半C++的代碼庫上工作。我們使用Doxygen來記錄我們的C++代碼。如何擴展Doxygen以支持Lua?或者:如何編寫Doxygen過濾器?

現在,我們也想使用Doxygen作爲Lua部分。但是Doxygen缺乏對Lua的支持。

還有那種爲Doxygen增加Lua支持的種類。它是用Perl編寫的,我明白它的作用。它實現了一個過濾器,將Lua源文件轉換爲Doxygen可以解析的內容。然而,Doxygen似乎並沒有認識到所有的功能等。

所以我的問題確實是:Doxygen的期望是什麼格式的過濾器?

回答

4

嚴格的答案是,您的過濾器應該在語言支持的語言中產生語法有效的輸出(您可以使用EXTENSION_MAPPING將您的語言的文件擴展名映射到支持的語言)。

由於doxygen的解析器比較鬆散(它是一個詞法掃描器,不是真正的解析器),所以如果你沒有100%地遵循語言的語法規則,它也可能工作,但它會是一個跟蹤和錯誤過程來找出哪些偏差是允許的,並且如果升級到未來版本的doxygen可能會中斷。