在勺子代码分析工具中,使用以下命令在GUI中显示AST:
$ java -cp spoon-core-5.9.0-jar-with-dependencies.jar spoon.Launcher -i MyClass.java --gui --noclasspath
我试图在没有-gui的情况下运行相同的命令但是,我没有得到任何输出。无论如何,我可以在文本文件中获取AST。
答案 0 :(得分:0)
使用Spoon处理器。任何Spoon处理器都会按预先的顺序访问AST的所有元素,因此您只需创建一个CtElement处理器并打印正在访问的元素:
@Override
public void process(CtElement element) {
//Find the level in the Syntax Tree of the element
int n = 0;
CtElement parent = element.getParent();
while (parent != null) {
n++;
parent = parent.getParent();
}
// Print the element
try {
String s = "";
if (n > 0) s = String.format("%0" + n + "d", 0).replace("0","-");
System.out.println(s + element.getClass().getSimpleName());
} catch (NullPointerException ex) {
System.out.println("Unknown Element");
}
}
答案 1 :(得分:-2)
您可以使用名为showMeYourSpoon
的JavaFX应用程序,专用于可视化某些Java代码的Spoon AST。
但是,此工具不能将项目的所有源(最多一个类,例如您的类MyClass.java
)作为输入。
https://github.com/inspectorguidget/showMeYourSpoon
使用该应用程序,您可以在专用文本区域中编写或复制Java代码,然后将计算并显示相应的Spoon AST。
要将Spoon AST导出到文本文件中,可以单击save
按钮。
此应用程序还具有其他功能,例如: