Extension du code de Python – ajout de fonctionnalités de langage

Je programme exclusivement en python depuis 4 ans et je n’ai jamais vraiment cherché à comprendre le code C dans lequel python est écrit. J’ai récemment étudié un problème impliquant la modification de python à ce niveau.

Le code semble assez cohérent et donc relativement facile à comprendre. Cependant, c’est assez complexe pour que cela n’ait pas de sens pour moi juste en étudiant comment tout cela fonctionnait ensemble. Certes, je n’y ai pas consacré beaucoup de temps ni d’efforts, faute d’une meilleure ressource. J’ai également examiné la documentation sur le site Python. Cependant, il est davantage orienté vers l’extension du langage par le biais de modules.

J’espérais trouver une documentation simple sur le fonctionnement de l’parsingur syntaxique au niveau C et sur la manière d’étendre directement le langage de base (ajout de fonctionnalités de langage). La documentation orientée module fournit de très bonnes informations sur la manière dont les types sont construits et les objects gérés, mais je cherche plus.

Existe-t-il une telle documentation?

Cet article peut vous aider à démarrer. L’excellent PEP 339 – Conception du compilateur CPython nécessite de nombreuses informations.

http://docs.python.org/extending/index.html – Modules / extensions personnalisés

http://docs.python.org/c-api/index.html – API C, sous le capot

Il n’y a pas trop de traditions écrites sur ce sujet. Votre meilleur pari est simplement de suivre les directives du PEP 306.