【问题标题】:Easy grammar parsing in Python?Python中的简单语法解析?
【发布时间】:2013-03-11 22:19:58
【问题描述】:

我正在构建一个项目,但遇到了一个问题。我基本上应该能够解析 JavaDoc 风格的(例如)cmets。我知道已经有解析 JavaDoc 的工具,但这只是一个例子。我的数据格式类似于:

// Function: Divide
//
// Divides two integers.
//
// Parameters:
//
//    x - The first integer.
//    y - The second integer.
//
// Returns:
//
//    The two integers divided.
//
// See Also:
//
//    <Multiply>

我应该能够设置关键字(功能、参数、返回等)。此外,注释符号可能并不总是//**; 也是可能的)。我知道我不应该尝试使用正则表达式来解析它,而是使用某种语法解析器。我的问题是根据您的经验,哪一种最适合我的情况?

【问题讨论】:

  • Grako 非常易于使用,而且非常灵活,因为它使用了PEG注意我是 Grako 的作者)。

标签: python parsing


【解决方案1】:

如果您需要立即制作解析器,我建议您查看 antlr。它非常好用(你只需要编写规则),它会根据你的规则输出你需要解析的所有代码。

http://www.antlr.org/wiki/display/ANTLR3/Python+runtime

我相信是 Python 实现的当前文档。 Java 是它使用的主要语言,但应该支持 Python。

【讨论】:

    猜你喜欢
    • 2017-09-07
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多