SIMPLE source ``` procedure main { read num1; noSwap = 0; while (num1 > num2) { if (num1 > 100) then { temp = num1 + num2 * num3; num2 = temp; } else { read temp2; noSwap = 1; } print num1; } print num2; } ``` ``` procedure main { read num1; // 1 noSwap = 0; 2 while (num1 > num2) { //3 if (num1 > 100) then { //4 temp = num1 + num2 * num3 + 4; //5 num2 = temp; //6 } else { read temp2; //7 noSwap = 1; //8 } print num1; //9 } print num2; //10 } ``` Parent: (3, 4) (3, 9) (4, 5) (4, 6) (4, 7) (4, 8) Parent*: (3, 4) (3, 5) (3, 6) (3, 7) (3, 8) (3, 9) (4, 5) (4, 6) (4, 7) (4, 8) Follows: (1, 2) (2, 3) (3, 10) (5, 6) (7, 8) (4, 9) Follows*: (1, 2) (1, 3) (1, 10) (2, 3) (2, 10) (3, 10) (5, 6) (7, 8) (4, 9) Modify: ("main", "num1") ("main", "noSwap") ("main", "temp") ("main", "num2") (1, num1) (2, noSwap) ((3, 4, 5), temp) ((3, 4, 6), num2) ((3, 4, 7), temp2) ((3, 4, 8), noSwap) Uses: (main, (num1, num2, num3, temp)) (1, num1) (3, (num2, num3)) (4, (num1)) ((3,4,5), (num1, num2, num3)) ((3,4,6), temp) ((3,9), num1) (10, num2) just need to check if it has had: - [x] Parent - [x] Parent* - [x] Follow - [x] Follow* - [x] Modify - [x] Use