自动文档 - 创建快速解析器的最佳方法
问题描述:
我有一个最终用户需要编辑的大脚本,因此它需要多余的注释。我用一个布局类似这样自动文档 - 创建快速解析器的最佳方法
//********************
//
// 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,但是最好的方法是什么?
答
鉴于你提到的两个选项,ANTLR和正则表达式,我会建议ANTLR。 从长远来看,ANTLR将更加灵活,我相信你应该能够更有效地使用它(它以语法为基础进行解析)。 正则表达式方法将被限制为常规语言,除非您添加一些自定义逻辑和什么。
作为一个例子,我怀疑你会很难用正则表达式来区分块内部和外部块之间的注释。 CFG应该能够做出这样的区分就好了。然后再次,如果您对源代码有控制权,您可以就什么类型的评论出现在哪些地方草拟一些规范...
是否复制/粘贴了您的内容?我不明白你想要完成什么。你想从页眉复制到功能还是什么?你也应该粘贴一些实际的脚本,以便更容易地告诉匹配什么和在哪里。 – 2009-12-01 22:45:39
我试图澄清OP中的一点。我认为具体的代码会混淆这个问题,因为情况是通用的。 – 2009-12-01 23:07:07