Inlinec: una nova manera d'utilitzar codi C als scripts de Python

projecte inlinec S'ha proposat un nou mètode per a la integració en línia del codi C als scripts de Python. Les funcions C es defineixen directament al mateix fitxer de codi Python, ressaltat pel decorador “@inlinec”. L'script de resum s'executa tal com està per l'intèrpret de Python i s'analitza mitjançant el mecanisme proporcionat a Python còdecs, que permet connectar un analitzador per transformar l'script abans d'analitzar-lo per l'intèrpret (per regla general, el mòdul de còdecs s'utilitza per a la transcodificació de text transparent, però també permet transformar arbitràriament el contingut de l'script).

L'analitzador està connectat com un mòdul ("des d'inlinec import inlinec"), que realitza el processament inicial i tradueix sobre la marxa les definicions de les funcions C destacades mitjançant anotacions @inlinec a enllaços de tipus c i substitueix el cos de la funció C per una crida a aquestes vinculacions. Després d'aquesta transformació, l'intèrpret de Python rep el text original convertit correcte de l'script, en el qual les funcions C s'anomenen utilitzant tipus c. En el projecte també s'utilitza un mètode similar Pyxl4, que us permet barrejar codi HTML i Python en un sol fitxer.

# codificació: inlinec
des d'inlinec import inlinec

@inlinec
prova def():
#incloure
prova nul () {
printf("Hola, món");
}

El desenvolupament es presenta fins ara com un prototip experimental, que conté deficiències com la manca de suport per passar punters (excepte cadenes) a la funció, la necessitat d'executar
"gcc -E" per al preprocessament del codi, desant fitxers intermedis *.so, *.o i *.c al directori actual, no guardant a la memòria cau la versió convertida i realitzant etapes d'anàlisi innecessàries (llargues retards cada vegada que s'executa).

Font: opennet.ru

Afegeix comentari