写之前从网上找过一些资料,不过部分是用class 实现的,结合数据结构原理,但是code稍微复杂
其实这边的需求还是很简单的所以就想用简单的方式实现, 就是现有的file 中class 的extends 关系有点乱,想把class 的继承关系打印出来
预选实现方式有两种:
1.list
2.dict
list 方式会用到多维数组,在数据插入的时候会很棘手,所以使用了dict方式
使用base class 作为key,所有继承自该base class 的subclass 以list 的形式作为value.
类似下面这种
dict = {"obj":['ins', 'other'],
'ins':['alu', 'mem', 'br'],
'alu':['add', 'sub'],
'mem':['mem16', 'mem32', 'mem48']
}
最后打印的时候需要传入一个最base 的node, 然后使用一次递归就搞定了
哎呀, 关于需求,第二天回到公司,发现有个好东西:doxygen 已经有了open source tool,而且还能自动gen 出来html,白写了2个多小时的code。
doxygen