如何扩展Doxygen以支持Lua?或者:如何编写Doxygen过滤器? 我正在编写一个半LuA和半C++的代码库。我们使用DoXEGEN来记录我们的C++代码。

如何扩展Doxygen以支持Lua?或者:如何编写Doxygen过滤器? 我正在编写一个半LuA和半C++的代码库。我们使用DoXEGEN来记录我们的C++代码。,lua,doxygen,Lua,Doxygen,现在,我们也希望在Lua部件中使用Doxygen。但Doxygen缺乏对Lua的支持 有一种对Doxygen的Lua支持。它是用Perl编写的,我理解它的功能。它实现了一个过滤器,将Lua源文件转换为Doxygen可以解析的内容。然而,Doxygen似乎无法识别所有功能等 所以我的问题是:Doxygen希望从过滤器中得到什么格式?严格的答案是过滤器应该以Doxygen支持的语言生成语法上有效的输出(您可以使用扩展名映射将您的语言的文件扩展名映射到支持的语言) 由于doxygen的解析器相当松散(

现在,我们也希望在Lua部件中使用Doxygen。但Doxygen缺乏对Lua的支持

有一种对Doxygen的Lua支持。它是用Perl编写的,我理解它的功能。它实现了一个过滤器,将Lua源文件转换为Doxygen可以解析的内容。然而,Doxygen似乎无法识别所有功能等


所以我的问题是:Doxygen希望从过滤器中得到什么格式?

严格的答案是过滤器应该以Doxygen支持的语言生成语法上有效的输出(您可以使用
扩展名映射
将您的语言的文件扩展名映射到支持的语言)


由于doxygen的解析器相当松散(它是一个词法扫描程序,而不是真正的解析器),如果您不100%遵循该语言的语法规则,它也可以工作,但是,如果您升级到doxygen的未来版本,找出哪些偏差是允许的,哪些偏差可能会中断,这将是一个循序渐进的过程。

严格的答案是,您的过滤器应该以doxygen支持的语言生成语法上有效的输出(您可以使用
EXTENSION\u MAPPING
将您的语言的文件扩展名映射到支持的语言)


因为doxygen的解析器相当松散(它是一个词法扫描程序,而不是真正的解析器),如果您没有100%遵守该语言的语法规则,也可以这样做,但如果您升级到doxygen的未来版本,则要找出允许的偏差和可能出现的偏差,这将是一个循序渐进的过程。

是否应将此答案更新为包含。我相信您的团队对此表示认可。是否应将此答案更新为包括。我相信它得到了你们团队的认可。