Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add normalizing pointers addresses tool
[simgrid.git] / tools / normalize-pointers.py
diff --git a/tools/normalize-pointers.py b/tools/normalize-pointers.py
new file mode 100755 (executable)
index 0000000..a1fc506
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+import sys, re
+
+if len(sys.argv)!=2:
+  print "Usage ./normalize-pointers.py <filename>"
+  sys.exit(1)
+
+f = open(sys.argv[1])
+t = f.read()
+f.close()
+
+r = re.compile(r"0x[0-9a-f]{7}")
+s = r.search(t)
+offset = 0
+pointers = {}
+while (s):
+  if s.group() not in pointers:
+    pointers[s.group()] = "0X%07d"%len(pointers)
+  print t[offset:s.start()],
+  print pointers[s.group()],
+  offset = s.end()
+  s = r.search(t, offset)
+
+print t[offset:]
+
+
+
+