cpython/Tools/bgen/bgen/bgenGeneratorGroup.py
Guido van Rossum 80ffd6683c bgenGeneratorGroup.py: changed placement of some blank lines in output
bgenObjectDefinition.py: support chaining of object definitions
macsupport.py: support functions returning pointers to existing windows/dialogs
bgen.py: tighten rules for recognizing simple symbol definitions
1995-01-30 11:44:02 +00:00

35 lines
666 B
Python

from bgenOutput import *
class GeneratorGroup:
def __init__(self, prefix):
self.prefix = prefix
self.generators = []
def add(self, g):
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():
from bgenGenerator import Generator
group = GeneratorGroup("spam")
eggs = Generator(void, "eggs")
group.add(eggs)
print "/* START */"
group.generate()
if __name__ == "__main__":
_test()