Mercurial > cpython-lru_cache-weakref
view Objects/typeslots.py @ 79691:05c8928362ee
Merge __next__ method link fixes with 3.3.
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Fri, 12 Oct 2012 13:46:37 +0300 |
| parents | f3553d5083f8 |
| children |
line wrap: on
line source
#!/usr/bin/python # Usage: typeslots.py < Include/typeslots.h > typeslots.inc import sys, re print("/* Generated by typeslots.py */") res = {} for line in sys.stdin: m = re.match("#define Py_([a-z_]+) ([0-9]+)", line) if not m: continue member = m.group(1) if member.startswith("tp_"): member = "ht_type."+member elif member.startswith("nb_"): member = "as_number."+member elif member.startswith("mp_"): member = "as_mapping."+member elif member.startswith("sq_"): member = "as_sequence."+member elif member.startswith("bf_"): member = "as_buffer."+member res[int(m.group(2))] = member M = max(res.keys())+1 for i in range(1,M): if i in res: print("offsetof(PyHeapTypeObject, %s)," % res[i]) else: print("0,")
