python源代码解析器

时间:2015-03-09 14:24:20

标签: python parsing static-code-analysis

为了分析python项目,我需要一个给出代码的工具,行号将为我提供行代表的方法的签名:module_name。[class。] method_name。 由于python缩进解析它应该非常简单,但我没有找到这样的工具。

(显然rope并不符合我的需要)

1 个答案:

答案 0 :(得分:1)

我们的DMS Software Reengineering Toolkit及其Python Front End可以解析Python 2和3,这是一个非常详细的AST。

如果需要,您可以将这些树导出为XML,然后根据需要进行操作。使用DMS的首选操作模式是编写DMS元程序,以完成您想要的操作。

使用DMS可以轻松解决问题的方法是编写一个相当简单的源模式来识别方法声明(自动获取源位置,因为AST会捕获它),然后沿着AST向上走类和模块名称的语言容器。