mirror of
https://github.com/python/cpython.git
synced 2025-10-21 22:22:48 +00:00
checkin of Jack's original version
This commit is contained in:
parent
df804f8591
commit
d211220cd2
27 changed files with 1525 additions and 0 deletions
46
Tools/modulator/EXAMPLE.py
Normal file
46
Tools/modulator/EXAMPLE.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
# 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]
|
Loading…
Add table
Add a link
Reference in a new issue