forked from snap-stanford/snap-python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgentypes.py
37 lines (30 loc) · 823 Bytes
/
gentypes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#
# generate tempaltes for SNAP typedefs
# input file format: <typedef> <type> <name>;
#
import os
import sys
if __name__ == '__main__':
if len(sys.argv) < 2:
print "Usage: " + sys.argv[0] + " <typedefs>"
sys.exit(1)
fname = sys.argv[1]
f = open(fname, "r")
for nline in f:
line = nline.split("\n")[0].strip()
print line
# remove typedef
line1 = line.split(" ", 1)[1]
print line1
# remove ';'
line2 = line1.replace(";","")
print line2
# get definition, name
w = line2.rsplit(" ",1)
if len(w) < 2:
print "*** Error: incorrect line format: ", line
sys.exit(1)
tdef = w[0]
tname = w[1]
print "%%template(%s) %s;" % (tname, tdef)
f.close()