Bump version number to 2.4.2 to pick up the latest minor bug fixes.
[python/dscho.git] / Tools / bgen / bgen / bgenGeneratorGroup.py
blob784bf69cf068180fdea25097bd46ced72c985ef1
1 from bgenOutput import *
3 class GeneratorGroup:
5 def __init__(self, prefix):
6 self.prefix = prefix
7 self.generators = []
9 def add(self, g, dupcheck=0):
10 if dupcheck:
11 if g in self.generators:
12 print 'DUP', g.name
13 return
14 g.setprefix(self.prefix)
15 self.generators.append(g)
17 def generate(self):
18 for g in self.generators:
19 g.generate()
20 Output()
21 Output("static PyMethodDef %s_methods[] = {", self.prefix)
22 IndentLevel()
23 for g in self.generators:
24 g.reference()
25 Output("{NULL, NULL, 0}")
26 DedentLevel()
27 Output("};")
30 def _test():
31 void = None
32 from bgenGenerator import FunctionGenerator
33 group = GeneratorGroup("spam")
34 eggs = FunctionGenerator(void, "eggs")
35 group.add(eggs)
36 print "/* START */"
37 group.generate()
39 if __name__ == "__main__":
40 _test()