Ukukhutshwa kweprojekthi yeBrython 3.10 (iPython yeBrowser) inikezelwe ngokuphunyezwa kolwimi lwenkqubo yePython 3 ukuze luphunyezwe kwicala lomkhangeli zincwadi wewebhu, okuvumela ukusetyenziswa kwePython endaweni yeJavaScript ukuphuhlisa izikripthi zeWebhu. Ikhowudi yeprojekthi ibhalwe kwiPython kwaye isasazwe phantsi kwelayisensi ye-BSD.
Ngokuquka iilayibrari ze-brython.js kunye ne-brython_stdlib.js, umphuhlisi wewebhu unokusebenzisa ulwimi lwePython ukuchaza ingqiqo yesayithi kwicala lomxhasi, esebenzisa iPython endaweni yeJavaScript. Ukubandakanya ikhowudi yePython kumaphepha, sebenzisa ithegi Ρ mime-ΡΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ΠΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ°ΠΊ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² (). ΠΠ· ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌ DOM. ΠΠΎΠΌΠΈΠΌΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ DOM ΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ jQuery, D3, Highcharts ΠΈ Raphael. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ CSS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Bootstrap3, LESS ΠΈ SASS.
Ukusetyenziswa kwekhowudi yePython ukusuka iibhloko zenziwa ngokuqulunqwa kwangaphambili kwale khowudi, eyenziwa yinjini yeBrython emva kokuba iphepha lilayishiwe. Uqokelelo luqalwa ngokubiza brython() umsebenzi, umzekelo ngokongeza "". Ngokusekelwe kwikhowudi yePython, ukumelwa kwiJavaScript kuveliswa, emva koko kwenziwa yinjini yeJavaScript esemgangathweni yesikhangeli (uthelekiso, iprojekthi yePyPy.js inikezela ngetoliki yeCPython ehlanganiswe kwi-asm.js ukwenza ikhowudi yePython kwisikhangeli. , kwaye iSkulpt yenza itoliki kwiJavaScript) .
Ukusebenza kokugqibela kwemisebenzi emininzi kwimibhalo yePython efakwe kumaphepha ewebhu isondele ekusebenzeni kweCPython. Ukulibaziseka kwenzeka kuphela kwinqanaba lokudibanisa, kodwa ukuyiphelisa, ukukwazi ukulayisha ikhowudi yeJavaScript ehlanganiswe kwangaphambili inikezelwe, esetyenziselwa ukukhawulezisa ukulayishwa kwelayibrari eqhelekileyo (iBrython ibonelela ngezixhobo zokwenza iilayibrari zeJavaScript ezisekelwe kwiimodyuli zePython. ).
Ukukhutshwa okutsha kuhambelana nokuhambelana nePython 3.10, kuquka nenkxaso yokulinganisa ipateni (umdlalo / ityala) abaqhubi. Inguqulelo entsha ikwabonelela ngokuphunyezwa kokuqala komthi we-syntax we-abstract (AST, Abstract Syntax Tree) yolwimi lwePython, olunokuthi emva koko lusetyenziswe ukuvelisa ikhowudi yeJavaScript kwi-AST yendawo yonke.
umthombo: opennet.ru