Projekti njĂ« metodĂ« e re pĂ«r integrimin inline tĂ« kodit nĂ« gjuhĂ«n C nĂ« skriptet nĂ« gjuhĂ«n Python Ă«shtĂ« propozuar. Funksionet nĂ« gjuhĂ«n C janĂ« tĂ« pĂ«rcaktuara drejtpĂ«rdrejt nĂ« njĂ« skedar me kodin nĂ« gjuhĂ«n Python, duke u theksuar me dekoratorin â@inlinecâ. Skripti pĂ«rmblodhĂ«s ekzekutohet siç Ă«shtĂ« nga interpretuesi spython dhe merret me pĂ«rdorimin e mekanizmit tĂ« ofruar nĂ« Python. , i cili ofron mundĂ«sinĂ« pĂ«r tĂ« lidhur njĂ« parser pĂ«r tĂ« transformuar skriptin para se tĂ« analizohet nga interpretuese (rregullisht, moduli codecs pĂ«rdoret pĂ«r rikodimin e shkruajtjes nĂ« mĂ«nyrĂ« transparente, por gjithashtu lejon transformimin e pĂ«rmbajtjes sĂ« skriptit nĂ« mĂ«nyrĂ« tĂ« librit).
Parseri lidhet si njĂ« modul (âfrom inlinec import inlinecâ), i cili kryen pĂ«rpunimin fillestar dhe nĂ« kohĂ« reale pĂ«rkthen definicionet e funksioneve C, tĂ« theksuara pĂ«rmes anotacioneve @inlinec, nĂ« mbĂ«shtetje ctypes dhe zĂ«vendĂ«son trupin e funksionit tĂ« C me thirrjen e kĂ«tyre mbĂ«shtetjeve. Pas kĂ«tij transformimi, interpretuese Python merr tashmĂ« tekstin e ndryshuar tĂ« skriptit, ku funksionet C thirren pĂ«rmes . NjĂ« metodĂ« e ngjashme zbatohet gjithashtu nĂ« projektin , i cili lejon tĂ« pĂ«rzihen nĂ« njĂ« skedar HTML dhe kod Python.
# coding: inlinec
nga inlinec import inlinec
@inlinec
def test():
#include<stdio.h>
void test() {
printf(«Hello, world»);
}
Zhvillimi aktualisht paraqitet si një prototip eksperimental, në të cilin identifikohen disa mungesa, siç është mungesa e mbështetjes për kalimin e treguesve (përveç vargjeve), nevoja për të ekzekutuar
«gcc -E» pĂ«r preprocessimin e kodit, ruajtjen e skedarĂ«ve ndĂ«rmjetĂ«s *.so, *.o dhe *.c nĂ« direktorine aktuale, mungesa e ĐșĐ”ŃĐžŃĐŸĐČĐ°ĐœĐž tĂ« variantit tĂ« transformuar dhe ekzekutimi i fazave tĂ« tepruara tĂ« analizĂ«s (vonesa tĂ« mĂ«dha me çdo ekzekutim).
Burimi: opennet.ru
