在学习别人的源代码或者整理自己的成果时,将类的方法转换成流程图保存下来非常有利于理清思路,但是我一直没找到免费又好用的源代码直接生成流程图的软件,所以只好自己尝试写个程序完成自动转换。
我主要用java写代码,Eclipse的JDT可以将java编译单元转换成抽象语法树,我想,在这个抽象语法树的基础上将方法源代码转换成dot脚本,再利用graphviz,应当可以完成这个目标。以下就是源代码。
/**
* 流程图节点类
* @author 华硕
*
*/
public class DotNode {
private int id;//节点的id,dot文件中作为节点的唯一标识
private String text;//将显示在节点框中的内容
private String shape;//节点的形状,只用了4种,单圆开始,双圆结束,普通四方,判断菱形
private List preIds;//接到节点的id
private Map edgeLabels;//指向本节点的边的标签
public DotNode(){
this.text = "";
this.shape = "record";
this.preIds = new ArrayList<>();;
this.edgeLabels = new HashMap<>();
}
public int getId() {
return id;