Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add normalizing pointers addresses tool
[simgrid.git] / tools / normalize-pointers.py
1 #!/usr/bin/python
2 import sys, re
3
4 if len(sys.argv)!=2:
5   print "Usage ./normalize-pointers.py <filename>"
6   sys.exit(1)
7
8 f = open(sys.argv[1])
9 t = f.read()
10 f.close()
11
12 r = re.compile(r"0x[0-9a-f]{7}")
13 s = r.search(t)
14 offset = 0
15 pointers = {}
16 while (s):
17   if s.group() not in pointers:
18     pointers[s.group()] = "0X%07d"%len(pointers)
19   print t[offset:s.start()],
20   print pointers[s.group()],
21   offset = s.end()
22   s = r.search(t, offset)
23
24 print t[offset:]
25
26
27
28