gpt4 book ai didi

java - 如何将外部文件传递给 ASTParser 或任何兼容的 AST 库?

转载 作者:行者123 更新时间:2023-12-04 06:23:20 26 4
gpt4 key购买 nike

引用 this上一个问题,我无法在 Eclipse 之外获得 IFile 或 ICompilationUnit。

我需要 org.eclipse.jdt.core.dom 库来解析和提取树结构。
我看到了方法
ASTParser 解析器 = ....;
解析器。 setSource(char[] 源) ;
如何传递外部项目文件或目录的路径?

我需要绑定(bind),所以这个方法必须设置为 true
parser.setResolveBindings( );

如果不可能,您是否知道任何兼容的库来构建 AST(抽象语法树)?

谢谢

最佳答案

您想将它用作 Eclipse 插件还是独立的 Java 应用程序?

如果它是一个 Java 应用程序,我认为你没有对那些 IFile 或 ICompilationUnit 的任何引用,除非你使用 ASTParser.setEnvironment 来创建一个新的工作区(我不知道如何)。如果它是作为 Java 独立应用程序,请查看以下示例:

http://dev.eclipse.org/svnroot/tools/org.eclipse.objectteams/trunk/testplugins/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/dom/StandAloneASTParserTest.java

使用该代码,您可以将任何 .java 内容转换为 AST 并对其进行解析(我从未尝试插入新的 AST 节点然后用它编写新的类,但我相信这是可能的)。

这是我对该实现的第一次尝试:http://pasteit.com/19436

关于java - 如何将外部文件传递给 ASTParser 或任何兼容的 AST 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com