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

时间:2009-12-01 22:35:17

标签: regex parsing scripting antlr

我有一个大型脚本,最终用户需要编辑它,因此需要一些冗余的评论。我使用类似于此

的文件布局
//********************
//
// 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,但最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

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

作为一个例子,我怀疑你将很难识别块内部的注释与使用正则表达式的外部块。 CFG应该能够做出这样的区分。然后,如果您可以控制源代码,您可以起草一些规范,以便在哪些类型的注释中出现......