Extending the code of Python - adding language features
I have been programming in python exclusively for 4 years and have never really looked under the hood at the C code in which python is written. I have recently been looking into a problem that would involve modifying python at that level.
The code seems pretty consistent, and thus relatively easily understood. However, it's complex enough that it wasn't making sense to me just by studying it how 开发者_开发百科it all worked together. Granted, I didn't spend a lot of time or effort on that, for want of a better resource. I also looked over the documentation on the python site. However, it is oriented more toward extending the language through modules.
I was hoping to find some straightforward documentation on how the parser works at the C level and how to extend the core language directly (adding language features). The module-oriented documentation provides some great insight into the way types are built and objects are managed, but I am looking for more.
Is there any such documentation out there?
This article may help you get started. It takes a lot of information from the excellent PEP 339 - Design of the CPython Compiler.
http://docs.python.org/extending/index.html - Custom modules/extensions
http://docs.python.org/c-api/index.html - C API, under the hood
There's not too much written lore on this topic. Your best bet is to just simply follow the guidelines in PEP 306
精彩评论