|
|
|
digraph iCFG {
|
|
|
|
15 [label="15: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
15 -> 14 ;
|
|
|
|
14 [label="14: DeclStmt \n *&k:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
14 -> 4 ;
|
|
|
|
13 [label="13: UnaryOperator \n n$3=*&k:int [line 15]\n *&k:int =(n$3 + 1) [line 15]\n REMOVE_TEMPS(n$3); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
13 -> 9 ;
|
|
|
|
12 [label="12: Prune (false branch) \n PRUNE(((n$2 <= 5) == 0), false); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
12 -> 8 ;
|
|
|
|
11 [label="11: Prune (true branch) \n PRUNE(((n$2 <= 5) != 0), true); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
11 -> 13 ;
|
|
|
|
10 [label="10: BinaryOperatorStmt: LE \n n$2=*&k:int [line 14]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
10 -> 11 ;
|
|
|
|
10 -> 12 ;
|
|
|
|
9 [label="9: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
9 -> 10 ;
|
|
|
|
8 [label="8: UnaryOperator \n n$1=*&i:int [line 17]\n *&i:int =(n$1 + 1) [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
8 -> 4 ;
|
|
|
|
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
7 -> 3 ;
|
|
|
|
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"]
|
|
|
|
|
|
|
|
|
|
|
|
6 -> 9 ;
|
|
|
|
5 [label="5: BinaryOperatorStmt: LE \n n$0=*&i:int [line 13]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
5 -> 6 ;
|
|
|
|
5 -> 7 ;
|
|
|
|
4 [label="4: + \n " ]
|
|
|
|
|
|
|
|
|
|
|
|
4 -> 5 ;
|
|
|
|
3 [label="3: Return Stmt \n NULLIFY(&i,false); [line 19]\n NULLIFY(&k,false); [line 19]\n *&return:int =0 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
|
|
|
|
|
|
|
|
|
|
|
|
3 -> 2 ;
|
|
|
|
2 [label="2: Exit main \n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 [label="1: Start main\nFormals: \nLocals: i:int k:int \n DECLARE_LOCALS(&return,&i,&k); [line 10]\n NULLIFY(&i,false); [line 10]\n NULLIFY(&k,false); [line 10]\n " color=yellow style=filled]
|
|
|
|
|
|
|
|
|
|
|
|
1 -> 15 ;
|
|
|
|
}
|