summaryrefslogtreecommitdiff
path: root/lab
diff options
context:
space:
mode:
Diffstat (limited to 'lab')
-rw-r--r--lab/branch_trace.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/lab/branch_trace.py b/lab/branch_trace.py
new file mode 100644
index 00000000..7e8e88f9
--- /dev/null
+++ b/lab/branch_trace.py
@@ -0,0 +1,17 @@
+import sys
+
+pairs = set()
+last = -1
+
+def trace(frame, event, arg):
+ global last
+ if event == "line":
+ this = frame.f_lineno
+ pairs.add((last, this))
+ last = this
+ return trace
+
+code = open(sys.argv[1]).read()
+sys.settrace(trace)
+exec(code)
+print(sorted(pairs))