Python中简单的语法解析?
我正在做一个项目,遇到了一个问题。我需要能够解析类似JavaDoc风格的注释(比如说)。我知道已经有工具可以解析JavaDoc,但这只是个例子。我的数据格式大概是这样的:
// Function: Divide
//
// Divides two integers.
//
// Parameters:
//
// x - The first integer.
// y - The second integer.
//
// Returns:
//
// The two integers divided.
//
// See Also:
//
// <Multiply>
我应该能够设置一些关键词(比如:函数、参数、返回值等等)。另外,注释的符号不一定总是//
(**
或者;
也可以)。我知道我不应该用正则表达式来解析这些,而是应该用某种语法解析器。根据你的经验,哪种解析器最适合我的情况呢?
1 个回答
0
如果你需要快速制作一个解析器,我推荐你看看antlr。它非常好用(你只需要写一些规则),然后它会根据你的规则输出所有需要的解析代码。
http://www.antlr.org/wiki/display/ANTLR3/Python+runtime
我相信这是当前Python实现的文档。虽然Java是主要使用的语言,但Python也应该是支持的。