您的位置:首页 > 其它

LCC编译器的源程序分析(66)DAG树分析例子

2008-04-02 11:16 267 查看
前面已经介绍创建分析树,下面就来详细地说明一个例子,看看到底生成什么样的分析树,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等号码是节点序号。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: