在用于python的独立应用程序中使用Eclipse DLTK解析器

时间:2015-03-23 12:09:44

标签: python eclipse eclipse-plugin pydev abstract-syntax-tree

我想在c,cpp,java和python中为简单代码(单个函数,大约30-100行)的lint样式静态分析实现错误检查规则。解决这个问题的主要要求是能够生成AST。

我观察到Eclipse IDE使用插件CDT,JDT,DLTK进行了大量的静态分析,AST生成和处理。我发现JDT可以用在不需要Eclipse生成AST的独立应用程序中。但是,我无法使用DLTK找到一个独立实现的工作演示。

是否可以在不运行Eclipse或编辑器模块的情况下使用它来生成和处理AST?有关其使用/实施的任何建议吗?这可以通过任何其他库来完成,也许是PyDev?

2 个答案:

答案 0 :(得分:0)

好吧,PyDev代码能够在没有正在运行的Eclipse实例的情况下进行linting ...

您可能需要查看以独立方式执行此操作的测试用例:

https://github.com/fabioz/Pydev/blob/development/plugins/com.python.pydev.analysis/tests/com/python/pydev/analysis/OccurrencesAnalyzerTest.java

主要的是测试用例如何进行设置以便它可以识别PYTHONPATH,但在设置之后,它应该是直截了当的 - 你可以进行调试会话并看看实际发生了什么:)

答案 1 :(得分:-1)

我不认为DLTK认为可以使用“独立”,而不是与JDT相同,因为它们将Eclipse Platform,EMF和ANTLR运行时列为download page的先决条件。如果你的意思是它可以在没有“工作台”或“工作空间”的情况下使用,我不知道,但如果可能的话,你可以根据他们的清单文件来确定,并“创建你自己的捆绑包”。核心插件。但是,我从未见过以这种方式使用它的演示,所以,有点怀疑它。 (或者,至少怀疑它会很容易。:)