LCC编译器的源程序分析(66)DAG树分析例子
来源:互联网 发布:数据库评级都怎么问 编辑:程序博客网 时间:2024/06/04 19:31
前面已经介绍创建分析树,下面就来详细地说明一个例子,看看到底生成什么样的分析树,C源程序如下:
#005 int nTest1 = 1;
#006 int nTest2 = 2;
#007 int nTest3;
#008 int i;
#009
#010 nTest3 = nTest1 + nTest2;
把上面的源程序分析后,就生成下面的DAG树,如下:
#2 ADDRLP4 count=1 nTest1
#3 CNSTI4 count=1 1
'1 ASGNI4 count=0 #2 #3 4 4
左子树是ADDRLP4,右子树是CNSTI4,根节点是ASGNI4。这是第5行的树。
#2 ADDRLP4 count=1 nTest2
#3 CNSTI4 count=1 2
'1 ASGNI4 count=0 #2 #3 4 4
左子树是ADDRLP4,右子树是CNSTI4,根节点是ASGNI4。这是第6行的树。
#2 ADDRLP4 count=2 nTest3
#5 ADDRLP4 count=1 nTest1
#4 INDIRI4 count=1 #5
#7 ADDRLP4 count=1 nTest2
#6 INDIRI4 count=1 #7
#3 ADDI4 count=1 #4 #6
'1 ASGNI4 count=0 #2 #3 4 4
这是第10行的树。根节点是ASGNI4,它的左子树是ADDRLP4,也就是nTest3。它的右子树是ADDI4,也就是nTest1 + nTest2。nTest1是由#4 INDIRI4和#5 ADDRLP4树构成的。nTest2也是#6 INDIRI4和#7 ADDRLP4构成的。
前面1,2,3等号码是节点序号。 - LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(66)DAG树分析例子
- [转载]LCC编译器的源程序分析(66)DAG树分析例子
- LCC编译器的源程序分析(63)创建DAG森林的源程序
- [转载]LCC编译器的源程序分析(63)创建DAG森林的源程序
- LCC编译器的源程序分析(63)创建DAG森林的源程序
- [原创] Memcache分组和同步机制的实现
- LCC编译器的源程序分析(67)删除内存链表
- MYSQL用户权限管理(Grant,Revoke)
- Windows API一日一练(22)TextOut函数
- 一个PHP图表绘制类 - Chart
- LCC编译器的源程序分析(66)DAG树分析例子
- [转]libhash中的哈希函数
- LCC编译器的源程序分析(65)后端接口的结构注释
- LCC编译器的源程序分析(64)符号表的结构注释
- LCC编译器的源程序分析(63)创建DAG森林的源程序
- [转]JpGraph简介 --功能超级强大的PHP画图库
- LCC编译器的源程序分析(62)生成常量树节点的流程
- Windows API一日一练(21)SetWindowLongPtr和GetWindowLongPtr函数
- LCC编译器的源程序分析(61)复合语句的代码块流程