summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tools/bgen/bgen/scantools.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/Tools/bgen/bgen/scantools.py b/Tools/bgen/bgen/scantools.py
index ec5c733..89447e1 100644
--- a/Tools/bgen/bgen/scantools.py
+++ b/Tools/bgen/bgen/scantools.py
@@ -62,6 +62,25 @@ class Scanner:
modes = self.usedtypes[type].keys()
modes.sort()
print type, string.join(modes)
+
+ def gentypetest(self, file):
+ fp = open(file, "w")
+ fp.write("types=[\n")
+ types = self.usedtypes.keys()
+ types.sort()
+ for type in types:
+ fp.write("\t'%s',\n"%type)
+ fp.write("]\n")
+ fp.write("""missing=0
+for t in types:
+ try:
+ tt = eval(t)
+ except NameError:
+ print "** Missing type:", t
+ missing = 1
+if missing: raise "Missing Types"
+""")
+ fp.close()
def initsilent(self):
self.silent = 0
@@ -365,6 +384,7 @@ class Scanner:
self.report("Bad raw spec: %s", `raw`)
return
type, name, args = self.whole.group('type', 'name', 'args')
+ type = regsub.gsub("[ \t]+", "_", type)
if name in self.alreadydone:
self.report("Name has already been defined: %s", `name`)
return