自动文档 - 创建快速解析器的最佳方法

自动文档 - 创建快速解析器的最佳方法

问题描述:

我有一个最终用户需要编辑的大脚本,因此它需要多余的注释。我用一个布局类似这样自动文档 - 创建快速解析器的最佳方法

//******************** 
// 
// FileName 
// This script contains: 
// - Function X - does something 
// - Function Y - does something else 
// 
//******************** 

//******************** 
// Function X 
// does something (<< I'd only like to enter this part once) 
//******************** 
// Code here... 

//******************** 
// Function Y 
// does something else 
//******************** 
// Code here... 

我的文件,我想创建一个简单的解析器,做的函数摘要的复制/粘贴到文件头。我知道有几种工具可以帮助实现这一点,比如ANTLR甚至RegEx,但是最好的方法是什么?

+0

是否复制/粘贴了您的内容?我不明白你想要完成什么。你想从页眉复制到功能还是什么?你也应该粘贴一些实际的脚本,以便更容易地告诉匹配什么和在哪里。 – 2009-12-01 22:45:39

+0

我试图澄清OP中的一点。我认为具体的代码会混淆这个问题,因为情况是通用的。 – 2009-12-01 23:07:07

鉴于你提到的两个选项,ANTLR和正则表达式,我会建议ANTLR。 从长远来看,ANTLR将更加灵活,我相信你应该能够更有效地使用它(它以语法为基础进行解析)。 正则表达式方法将被限制为常规语言,除非您添加一些自定义逻辑和什么。

作为一个例子,我怀疑你会很难用正则表达式来区分块内部和外部块之间的注释。 CFG应该能够做出这样的区分就好了。然后再次,如果您对源代码有控制权,您可以就什么类型的评论出现在哪些地方草拟一些规范...