Inlinec – nový spôsob použitia C kódu v Python skriptoch

Projekt inlinec Bola navrhnutá nová metóda pre inline integráciu C kódu do Python skriptov. Funkcie C sú definované priamo v tom istom súbore kódu Python, zvýraznené dekorátorom „@inlinec“. Súhrnný skript je spustený tak, ako je, interpretom Pythonu a analyzovaný pomocou mechanizmu poskytovaného v Pythone kodeky, čo umožňuje pripojiť parser na transformáciu skriptu pred jeho analýzou interpretom (modul kodekov sa spravidla používa na transparentné prekódovanie textu, ale umožňuje aj ľubovoľnú transformáciu obsahu skriptu).

Syntaktický analyzátor je pripojený ako modul („from inlinec import inlinec“), ktorý vykonáva počiatočné spracovanie a za behu prekladá definície funkcií C zvýraznené pomocou anotácií @inlinec do väzieb ctypes a nahrádza telo funkcie C výzva na tieto väzby. Po takejto transformácii dostane interpret Pythonu správny skonvertovaný zdrojový text skriptu, v ktorom sa funkcie C volajú pomocou ctypes. Podobná metóda je použitá aj v projekte Pyxl4, ktorý vám umožňuje kombinovať kód HTML a Python v jednom súbore.

# kódovanie: inlinec
z inlinec import inlinec

@inlinec
def test():
#include
void test() {
printf("Ahoj svet");
}

Vývoj je zatiaľ prezentovaný ako experimentálny prototyp, ktorý obsahuje také nedostatky ako chýbajúca podpora odovzdávania ukazovateľov (okrem reťazcov) funkcii, nutnosť spustenia
„gcc -E“ pre predbežné spracovanie kódu, ukladanie prechodných súborov *.so, *.o a *.c do aktuálneho adresára, neukladanie konvertovanej verzie do vyrovnávacej pamäte a vykonávanie zbytočných fáz analýzy (dlhé oneskorenia pri každom spustení).

Zdroj: opennet.ru

Pridať komentár