[Python-checkins] commit of r41583 - python/branches/ast-objects/Parser/asdl_c.py
brett.cannon
python-checkins at python.org
Sun Dec 4 09:54:05 CET 2005
Author: brett.cannon
Date: Sun Dec 4 09:54:00 2005
New Revision: 41583
Modified:
python/branches/ast-objects/Parser/asdl_c.py
Log:
Add typedefs for sum types and the builtin types of ASDL since their names are
directly used as the type of argument to C functions.
Modified: python/branches/ast-objects/Parser/asdl_c.py
==============================================================================
--- python/branches/ast-objects/Parser/asdl_c.py (original)
+++ python/branches/ast-objects/Parser/asdl_c.py Sun Dec 4 09:54:00 2005
@@ -162,6 +162,7 @@
assert type in asdl.builtin_types, type
emit("%s %s;" % (type, field.name), depth + 1)
emit("};")
+ emit("typedef PyObject * %s;" % name)
emit("#define %s_kind(o) (((struct _%s*)o)->_kind)" % (name, name))
emit("")
for t in sum.types:
@@ -519,6 +520,13 @@
print >> f, " macro, type and constant names which are not Py_-prefixed."
print >> f, " Therefore, the file should not be included in Python.h;"
print >> f, " all symbols relevant to linkage are Py_-prefixed. */"
+ print >> f, "\n"
+ print >> f, "/* typedefs of ASDL's builtin types */"
+ print >> f, "typedef PyObject * identifier;"
+ print >> f, "typedef PyObject * string;"
+ print >> f, "typedef PyObject * bool;"
+ print >> f, "typedef PyObject * object;"
+ print >> f, "\n"
c = HeaderVisitor(f)
c.visit(mod)
f.close()
More information about the Python-checkins
mailing list