Projekat Predlagan je nov način inline integracije C koda v Python skripte. Funkcije v C so neposredno definirane v enem samem datoteki s Python kodo, označene z dekoratorjem "@inlinec". Skupni skript se izvaja takšen, kot je, v interpretatorju spython in se analizira z uporabo mehanizma, ki ga Python zagotavlja. , који омогућава повезивање парсера за трансформацију скриптa пре његове анализе интерпретатором (обично се модул codecs користи за транспарентну прекодирање текста, али такође дозвољава и произвољне трансформације садржаја скрипта).
Parser se poveže kot modul ("from inlinec import inlinec"), ki izvaja primarno obdelavo in na povsem sprotno prevaja definicije C funkcij, označene z anotacijami @inlinec, v ctypes ovitke in nadomešča telo C funkcij z klicem teh ovitkov. Po tej spremembi interpretator Python prejme že pravilno preoblikovano izvorno besedilo skripta, v katerem so C funkcije klicane s . Слична метода се такође примењује у пројекту , који омогућава мешање HTML и Python-кода у једном датотеку.
# coding: inlinec
from inlinec import inlinec
@inlinec
def test():
#include<stdio.h>
void test() {
printf("Hello, world");
}
Развој се тренутно представља као експериментални прототип, у којем се бележе такве недостацима, као што је недостатак подршке за пренос указивача у функцију (осим за низове), неопходност покретања
"gcc -E" za predobdelavo kode, shranjevanje vmesnih *.so, *.o in *.c datotek v trenutni imenik, brez predpomnjenja spremenjenega različica in izvajanja dodatnih faz analize (velike zamude pri vsakem zagonu).
Izvor: opennet.ru
