Mercurial > cpython-lru_cache-weakref
view Tools/modulator/EXAMPLE.py @ 58925:eecf1bef052d 2.6
Merged revisions 78207 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line
#7930: fix stripid
........
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Tue, 16 Feb 2010 23:29:44 +0000 |
| parents | 897afcacba00 |
| children |
line wrap: on
line source
# # Example input file for modulator if you don't have tk. # # You may also have to strip some imports out of modulator to make # it work. import genmodule # # Generate code for a simple object with a method called sample o = genmodule.object() o.name = 'simple object' o.abbrev = 'simp' o.methodlist = ['sample'] o.funclist = ['new'] # # Generate code for an object that looks numberish # o2 = genmodule.object() o2.name = 'number-like object' o2.abbrev = 'nl' o2.typelist = ['tp_as_number'] o2.funclist = ['new', 'tp_repr', 'tp_compare'] # # Generate code for a method with a full complement of functions, # some methods, accessible as sequence and allowing structmember.c type # structure access as well. # o3 = genmodule.object() o3.name = 'over-the-top object' o3.abbrev = 'ot' o3.methodlist = ['method1', 'method2'] o3.funclist = ['new', 'tp_dealloc', 'tp_print', 'tp_getattr', 'tp_setattr', 'tp_compare', 'tp_repr', 'tp_hash'] o3.typelist = ['tp_as_sequence', 'structure'] # # Now generate code for a module that incorporates these object types. # Also add the boilerplates for functions to create instances of each # type. # m = genmodule.module() m.name = 'sample' m.abbrev = 'sample' m.methodlist = ['newsimple', 'newnumberish', 'newott'] m.objects = [o, o2, o3] fp = open('EXAMPLEmodule.c', 'w') genmodule.write(fp, m) fp.close()
