Ejemplo n.º 1
0
    def generate(self):
        OutHeader1("Module " + self.name)
        Output("#include \"Python.h\"")
        Output()

        if self.includestuff:
            Output()
            Output("%s", self.includestuff)

        self.declareModuleVariables()

        GeneratorGroup.generate(self)

        if self.finalstuff:
            Output()
            Output("%s", self.finalstuff)

        Output()
        Output("void init%s(void)", self.name)
        OutLbrace()
        Output("PyObject *m;")
        Output("PyObject *d;")
        Output()

        if self.initstuff:
            Output("%s", self.initstuff)
            Output()

        Output("m = Py_InitModule(\"%s\", %s_methods);",
               self.name, self.prefix)
        Output("d = PyModule_GetDict(m);")
        self.createModuleVariables()
        OutRbrace()
        OutHeader1("End module " + self.name)
Ejemplo n.º 2
0
    def generate(self):
        OutHeader1("Module " + self.name)
        Output("#include \"Python.h\"")
        Output()

        if self.includestuff:
            Output()
            Output("%s", self.includestuff)

        self.declareModuleVariables()

        GeneratorGroup.generate(self)

        if self.finalstuff:
            Output()
            Output("%s", self.finalstuff)

        Output()
        Output("void init%s(void)", self.name)
        OutLbrace()
        Output("PyObject *m;")
        Output("PyObject *d;")
        Output()

        if self.initstuff:
            Output("%s", self.initstuff)
            Output()

        Output("m = Py_InitModule(\"%s\", %s_methods);",
               self.name, self.prefix)
        Output("d = PyModule_GetDict(m);")
        self.createModuleVariables()
        OutRbrace()
        OutHeader1("End module " + self.name)
Ejemplo n.º 3
0
    def generate(self):
        # XXX This should use long strings and %(varname)s substitution!

        OutHeader2("Object type " + self.name)

        sf = self.static and "static "
        Output("%sPyTypeObject %s;", sf, self.typename)
        Output()
        Output("#define %s_Check(x) ((x)->ob_type == &%s || PyObject_TypeCheck((x), &%s))",
               self.prefix, self.typename, self.typename)
        Output()
        Output("typedef struct %s {", self.objecttype)
        IndentLevel()
        Output("PyObject_HEAD")
        self.outputStructMembers()
        DedentLevel()
        Output("} %s;", self.objecttype)

        self.outputNew()

        self.outputConvert()

        self.outputDealloc()

        GeneratorGroup.generate(self)

        Output()
        self.outputMethodChain()

        self.outputGetattr()

        self.outputSetattr()

        self.outputCompare()

        self.outputRepr()

        self.outputHash()

        self.outputPEP253Hooks()

        self.outputTypeObject()

        OutHeader2("End object type " + self.name)
Ejemplo n.º 4
0
    def generate(self):
        # XXX This should use long strings and %(varname)s substitution!

        OutHeader2("Object type " + self.name)

        self.outputCheck()

        Output("typedef struct %s {", self.objecttype)
        IndentLevel()
        Output("PyObject_HEAD")
        self.outputStructMembers()
        DedentLevel()
        Output("} %s;", self.objecttype)

        self.outputNew()

        self.outputConvert()

        self.outputDealloc()

        GeneratorGroup.generate(self)

        Output()
        self.outputMethodChain()

        self.outputGetattr()

        self.outputSetattr()

        self.outputCompare()

        self.outputRepr()

        self.outputHash()

        self.outputPEP253Hooks()

        self.outputTypeObject()

        OutHeader2("End object type " + self.name)
    def generate(self):
        # XXX This should use long strings and %(varname)s substitution!

        OutHeader2("Object type " + self.name)

        self.outputCheck()

        Output("typedef struct %s {", self.objecttype)
        IndentLevel()
        Output("PyObject_HEAD")
        self.outputStructMembers()
        DedentLevel()
        Output("} %s;", self.objecttype)

        self.outputNew()

        self.outputConvert()

        self.outputDealloc()

        GeneratorGroup.generate(self)

        Output()
        self.outputMethodChain()

        self.outputGetattr()

        self.outputSetattr()

        self.outputCompare()

        self.outputRepr()

        self.outputHash()

        self.outputPEP253Hooks()

        self.outputTypeObject()

        OutHeader2("End object type " + self.name)
	def generate(self):
		# XXX This should use long strings and %(varname)s substitution!

		OutHeader2("Object type " + self.name)

		sf = self.static and "staticforward "
		Output("%sPyTypeObject %s;", sf, self.typename)
		Output()
		Output("#define %s_Check(x) ((x)->ob_type == &%s)",
		       self.prefix, self.typename)
		Output()
		Output("typedef struct %s {", self.objecttype)
		IndentLevel()
		Output("PyObject_HEAD")
		self.outputStructMembers()
		DedentLevel()
		Output("} %s;", self.objecttype)

		self.outputNew()
		
		self.outputConvert()

		self.outputDealloc()

		GeneratorGroup.generate(self)

		Output()
		Output("%sPyMethodChain %s_chain = { %s_methods, %s };",
		        self.static,    self.prefix, self.prefix, self.basechain)

		self.outputGetattr()

		self.outputSetattr()
		
		self.outputTypeObject()

		OutHeader2("End object type " + self.name)
Ejemplo n.º 7
0
from bgenOutput import *
Ejemplo n.º 8
0
from bgenOutput import *
Ejemplo n.º 9
0
from bgenOutput import *
Ejemplo n.º 10
0
from bgenOutput import *