我想创建一个自动的类似流程图的可视化来显示简单Java逻辑,为此我需要解析Java源代码。我有两个候选方案,ANTLR和javax.lang.model,但两者都不容易。我还没有找到一个能够完全符合我的要求的工作示例。我想查找简单的变量声明、赋值和流程控制语句(如if、for、switch、布尔条件等)。是否有简单的示例或教程可以参考?我发现ANTLR实例很少(没有一个可以直接使用而不需要大量“功课”的),而javax.lang.model则完全没有。
我建议你使用Java Soot a Java Optimization Framework。它可以帮助你解析Java源代码,生成CFG并提供各种选项。
此外,你还可以在这里找到Eclipse插件。
我建议使用Eclipse Xtext,它在底层使用ANTLR,而且相对容易与Eclipse GMF一起使用进行可视化。