【问题标题】:Automatic Documentation - Best method for creating a quick parser自动文档 - 创建快速解析器的最佳方法
【发布时间】:2010-12-22 05:07:45
【问题描述】:

我有一个最终用户需要编辑的大型脚本,因此它需要一些多余的注释。我为我的文件使用类似于此的布局

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

【问题讨论】:

  • 复制/粘贴适合您的内容吗?我不明白你想要完成什么。你想从页眉复制到函数还是什么?此外,您应该粘贴一些实际的脚本,以便更容易判断匹配的内容和位置。
  • 我试图在 OP 中澄清一点。我认为具体的代码会混淆这个问题,因为情况是通用的。

标签: regex parsing scripting antlr


【解决方案1】:

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

举个例子,我怀疑你很难用正则表达式识别块内的 cmets 和块外的 cmets。 CFG 应该能够很好地做出这样的区分。再说一次,如果您可以控制源,您可以起草一些规范,说明哪些类型的 cmets 出现在哪里......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多