Inlinec - një mënyrë e re për të përdorur kodin C në skriptet Python

Projekti inlinec Është propozuar një metodë e re për integrimin inline të kodit C në skriptet Python. Funksionet C përcaktohen drejtpërdrejt në të njëjtin skedar kodi Python, të theksuar nga dekoruesi "@inlinec". Skripti përmbledhës ekzekutohet siç është nga interpretuesi Python dhe analizohet duke përdorur mekanizmin e dhënë në Python kodekët, i cili bën të mundur lidhjen e një analizuesi për të transformuar skriptin përpara se ta analizojë atë nga interpretuesi (si rregull, moduli i kodekëve përdoret për transkodim transparent të tekstit, por gjithashtu ju lejon të transformoni në mënyrë arbitrare përmbajtjen e skriptit).

Analizuesi është i lidhur si një modul ("nga inlinec import inlinec"), i cili kryen përpunimin fillestar dhe përkthen në lëvizje përkufizimet e funksioneve C të theksuara duke përdorur shënimet @inlinec në lidhje ctypes dhe zëvendëson trupin e funksionit C me një thirrje për këto lidhje. Pas një transformimi të tillë, interpretuesi Python merr tekstin burimor të konvertuar të saktë të skriptit, në të cilin funksionet C thirren duke përdorur ctypes. Një metodë e ngjashme përdoret gjithashtu në projekt Pyxl4, i cili ju lejon të përzieni kodin HTML dhe Python në një skedar.

# kodim: inlinec
nga inlinec import inlinec

@inlinec
def test ():
#përfshi
testi i pavlefshëm() {
printf ("Përshëndetje, botë");
}

Zhvillimi është paraqitur deri më tani si një prototip eksperimental, i cili përmban mangësi të tilla si mungesa e mbështetjes për kalimin e treguesve (përveç vargjeve) në funksion, nevojën për të ekzekutuar
“gcc -E” për parapërpunimin e kodit, ruajtjen e skedarëve të ndërmjetëm *.so, *.o dhe *.c në direktorinë aktuale, duke mos ruajtur versionin e konvertuar në memorie dhe duke kryer faza të panevojshme analize (vonesa të gjata sa herë që ekzekutohet).

Burimi: opennet.ru

Shto një koment