| Guido van Rossum | d211220 | 1995-03-02 14:05:29 +0000 | [diff] [blame] | 1 | # | 
 | 2 | # Example input file for modulator if you don't have tk. | 
 | 3 | # | 
 | 4 | # You may also have to strip some imports out of modulator to make | 
 | 5 | # it work. | 
 | 6 | # | 
 | 7 | # Generate code for a simple object with a method called sample | 
 | 8 |  | 
 | 9 | o = genmodule.object() | 
 | 10 | o.name = 'simple object' | 
 | 11 | o.abbrev = 'simp' | 
 | 12 | o.methodlist = ['sample'] | 
 | 13 | o.funclist = ['new'] | 
 | 14 |  | 
 | 15 | # | 
 | 16 | # Generate code for an object that looks numberish | 
 | 17 | # | 
 | 18 | o2 = genmodule.object() | 
 | 19 | o2.name = 'number-like object' | 
 | 20 | o2.abbrev = 'nl' | 
 | 21 | o2.typelist = ['tp_as_number'] | 
 | 22 | o2.funclist = ['new', 'tp_repr', 'tp_compare'] | 
 | 23 |  | 
 | 24 | # | 
 | 25 | # Generate code for a method with a full complement of functions, | 
 | 26 | # some methods, accessible as sequence and allowing structmember.c type | 
 | 27 | # structure access as well. | 
 | 28 | # | 
 | 29 | o3 = genmodule.object() | 
 | 30 | o3.name = 'over-the-top object' | 
 | 31 | o3.abbrev = 'ot' | 
 | 32 | o3.methodlist = ['method1', 'method2'] | 
 | 33 | o3.funclist = ['new', 'tp_dealloc', 'tp_print', 'tp_getattr', 'tp_setattr', | 
 | 34 | 	    'tp_compare', 'tp_repr', 'tp_hash'] | 
 | 35 | o3.typelist = ['tp_as_sequence', 'structure'] | 
 | 36 |  | 
 | 37 | # | 
 | 38 | # Now generate code for a module that incorporates these object types. | 
 | 39 | # Also add the boilerplates for functions to create instances of each | 
 | 40 | # type. | 
 | 41 | # | 
 | 42 | m = genmodule.module() | 
 | 43 | m.name = 'sample' | 
 | 44 | m.abbrev = 'sample' | 
 | 45 | m.methodlist = ['newsimple', 'newnumberish', 'newott'] | 
 | 46 | m.objects = [o, o2, o3] |