扫描代码注释的工具,并转换为标准格式

时间:2010-01-28 21:47:09

标签: c documentation comments doxygen documentation-generation

我正在研究一个已经看过许多不同作者和许多不同文档样式的C项目。

我是doxygen和其他文档生成工具的忠实粉丝,我想迁移此项目以使用其中一个系统。

是否有人知道可以扫描源代码注释的工具,如“描述”,“作者”,“文件名”和其他类型的上下文,以智能地将注释转换为标准格式?如果不是,我想我可以写一个疯狂的脚本,或手动转换。

由于

3 个答案:

答案 0 :(得分:2)

当我在Lex + Yacc上阅读O'Reilly的书时,我能想到的唯一一个是,有代码在命令行输出注释,第2章中有一节说明如何解析评论的代码,包括///*..*/ ...页面上有一个链接示例,下载文件progs.zip,您要查找的文件是{{1需要构建的,可以很容易地修改它来输出注释。然后可以在脚本中使用它来过滤掉“名称”,“描述”等...

如果您有兴趣,我可以在这里发布如何执行此操作的说明吗?

修改:我认为我找到了您要找的内容,这是一个预建的评论文档提取器here

希望这有帮助, 最好的祝福, 汤姆。

答案 1 :(得分:1)

我认为正如tommieb75建议的那样,正确的解析器是处理这个问题的方法。

我建议查看ANTLR,因为它支持就地重写令牌缓冲区,我认为这样可以最大限度地减少你为保留空格等所必须做的事情 - 见{{3}的第9.7节}}

答案 2 :(得分:1)

如果要解析的样式集相对有限,编写Visual Studio宏(在IDE中使用)或独立应用程序(仅用于处理源代码'离线')将会非常简单用于评论的文件,然后使用某些标题或标签将它们重新格式化为新样式,以将它们分开。

可以帮助您的快捷方式是使用我的AtomineerUtils Pro Documentation加载项。它可以一次查找并转换源文件中的所有注释。开箱即用它解析XML Documentation,Doxygen,JavaDoc和Qt格式(或任何足够接近它们的东西),然后可以以任何格式输出评论。它还可以配置为转换不兼容的旧评论。有几个选项可以帮助转换,但最强大的calls a Visual Studio Macro在注释之前带有注释文本,允许您应用一些字符串处理将遗留注释转换为AtomineerUtils随后可以读取的格式(示例)最常用的遗留样式之一的宏在网站上提供,因此通常很容易修改它以应对您的遗留格式,只要它适合于计算机解析)。

转换后的文本不需要特别整洁 - 一旦AtomineerUtils可以提取文档条目,它将为您清理注释 - 它可以自动应用自动换行,一致的元素排序和间距等,并确保评论准确描述它记录的代码元素(其条目匹配params,typeparams,抛出的异常等)然后以其配置的格式输出替换注释。这样可以节省您在转换宏中进行大量工作以使事情变得整洁 - 一旦完成转换,您可以继续使用插件来节省记录代码的时间,并确保所有新注释都以相同的样式继续。 / p>