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

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

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

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

谢谢

当我读到关于Lex + Yacc的O’Reilly的书时,我能想到的唯一一个是,有代码在命令行输出注释,第2章中有一节介绍如何解析注释代码包括///*..*/ …页面上有一个链接示例,下载文件progs.zip ,你要找的文件是需要构建的ch2-09.l ,它可以轻松修改以输出注释。 然后可以在脚本中使用它来过滤掉“名称”,“描述”等…

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

编辑:我想我已找到你要找的东西,这是一个预建的评论文档提取器。

希望这会有所帮助,最好的问候,汤姆。

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

我建议查看ANTLR ,因为它支持就地重写令牌缓冲区,我认为这样可以最大限度地减少你为保留空格等所需要做的事情 – 参见最终ANTLR参考的第9.7章。

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

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

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