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

Java 如何将外部文件传递给ASTParser或任何兼容的AST库?,java,eclipse,abstract-syntax-tree,Java,Eclipse,Abstract Syntax Tree,提到前面的问题,我无法在eclipse之外获得IFile或ICompilationUnit 我需要org.eclipse.jdt.core.dom库来解析和提取树结构。 我看到了方法 ASTParser= 解析器。setSource(char[]source) 如何传递外部项目文件或目录的路径 我需要绑定,因此此方法必须设置为true setResolveBindings(true) 如果不可能的话,你知道有什么兼容的库可以构建AST(抽象语法树)吗 谢谢您可以正常读取任何文件并将其转换为字符数

提到前面的问题,我无法在eclipse之外获得IFile或ICompilationUnit

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

我需要绑定,因此此方法必须设置为true
setResolveBindings(true

如果不可能的话,你知道有什么兼容的库可以构建AST(抽象语法树)吗


谢谢

您可以正常读取任何文件并将其转换为字符数组;我不明白为什么这会是个问题。来自JDT3.6。版本您可以使用setEnvironment,以便setResolveBindings可以实际工作。更多信息:


人们已经使用过它,但老实说,我仍然无法用这种方法获得绑定。

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

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

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


这是我对该实现的第一次尝试:

使用eclipse AST解析器访问AST对您的需求至关重要,还是任何能够解析和命名解析的解析器都可以为您工作?您打算如何处理AST和symbol表?