Redraw figure 6.1 Accelerated Name Access Diagram in TikZ.
[dwarf-doc.git] / dwarf5 / tools / tohyphen.py
1 # Copyright 2012 DWARF Debugging Information Format Committee
2 #
3 # Convert DW_ and DW\_ names to DW\-\_ 
4 # python tohyphen.py *.tex
5 # The output files have .out appended to the name.
6
7 import sys
8 import fileio
9
10 def convertToHyphen(s):
11   out = []
12   for c in s:
13     if c == "_":
14       out += ["\\"]
15       out += ["-"]
16       out += ["\\"]
17     out += [c]  
18   os = ''.join(out)
19   return os
20
21 def transfunc(linetoks,myfile,linenum):
22   if len(linetoks) < 1:
23     return linetoks
24   outtoks = []
25   for t in linetoks:
26     stdname= ''.join(t._std)
27     if stdname.startswith("DW_") != 0:
28       xs = convertToHyphen(stdname)
29       x = fileio.dwtoken()
30       x.insertid(xs)
31       x.finishUpId()
32       outtoks += [x]
33     else:
34       outtoks += [t]
35     # End of for loop.
36   return outtoks
37
38 def read_args():
39   cur = 1
40   filelist = []
41   while  len(sys.argv) > cur:
42     v = sys.argv[cur]
43     filelist += [v]
44     cur = int(cur) + 1
45
46   dwf = fileio.readFilelist(filelist)
47   dwf.dwtransformline(transfunc)
48   dwf.dwwrite()
49
50 if __name__ == '__main__':
51   read_args()
52   
53
54