我想为简单的Java Logic创建类似Flowboard的自动化可视化,为此我需要解析Java源代码,我有2个候选者,Java 6的ANTLR和javax.lang.model。很容易。
我还没有找到一个可以远离我想要实现的工作示例。
我想找到简单的变量声明,赋值和流程(if,for,switch,boolean conditions等)
是否有一个简单的示例或教程中的任何一个? 我发现很少有ANTLR示例(其中没有一个是开箱即用的,没有重要的“家庭作业”),绝对没有javax.lang.model
答案 0 :(得分:2)
您是否有特殊原因希望自己生成解析器? IMO,让现有的解析器为您创建AST更容易,您只需“遍历”以收集有关源文件的数据。使用您最喜欢的搜索引擎和关键词“get ast java source”将导致许多相关的点击。
乍一看,这些看起来像是合适的候选人:
你当然可以使用ANTLR,Java有很多ANTLR grammars可供你使用,但是当选择这个工具(或其他一些解析器生成器时, 是非常好的学习曲线那件事)。如果您确实选择了ANTLR,我非常乐意回答任何有关它的问题。
祝你好运!
答案 1 :(得分:1)
我建议您使用Java Soot a Java Optimization Framework。这将帮助您解析Java源代码,可以生成CFG和各种可用选项。
你也可以找到eclipse插件here
答案 2 :(得分:1)
我会尝试使用Eclipse Xtext,它使用ANTLR,它也(相对)易于与Eclipse GMF一起使用以进行可视化。