Tools/bgen/bgen/bgenGeneratorGroup.py
from bgenOutput import * class GeneratorGroup: def __init__(self, prefix): self.prefix = prefix self.generators = [] def add(self, g, dupcheck=0): if dupcheck: if g in self.generators: print 'DUP', g.name return g.setprefix(self.prefix) self.generators.append(g) def generate(self): for g in self.generators: g.generate() Output() Output("static PyMethodDef %s_methods[] = {", self.prefix) IndentLevel() for g in self.generators: g.reference() Output("{NULL, NULL, 0}") DedentLevel() Output("};") def _test(): void = None from bgenGenerator import FunctionGenerator group = GeneratorGroup("spam") eggs = FunctionGenerator(void, "eggs") group.add(eggs) print "/* START */" group.generate() if __name__ == "__main__": _test() |