<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/46860.html" frameborder="0" width="468" scrolling="no" height="60"></iframe>
#001//
#002void walk(Tree tp, int tlab, int flab)
#003{
#004//创建DAG森林.
#005listnodes(tp, tlab, flab);
#006
#007//如果DAG森林生成.
#008if (forest)
#009{
#010 Node list = forest->link;
#011 forest->link = NULL;
#012
#013 //把多次引用的DAG节点,修改为对临时变量的引用.
#014 if (!IR->wants_dag && errcnt == 0)
#015 {
#016 list = undag(list);
#017 }
#018
#019 //创建代码块保存DAG的列表.
#020 AppendCode(code::Gen)->u.forest = list;
#021 forest = NULL;
#022}
#023
#024reset();
#025deallocate(STMT);
#026}
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1735308