Injini ye-SpiderMonkey JavaScript esetshenziswa kuFirefox
Kuyaphawulwa ukuthi injini ye-RegExp ku-SpiderMonkey yakhelwe njengengxenye ehlukile, okwenza izimele futhi ifanele ukushintshwa ngaphandle kwesidingo sokwenza izinguquko eziphawulekayo kusisekelo sekhodi. I-Modularity yenza kwaba nokwenzeka ngo-2014 ukushintsha injini ye-YARR RegExp ekuqaleni eyayisetshenziswa kuFirefox ngemfoloko yenjini ye-Irregexp evela ku-V8. I-Irregexp iboshelwe ku-V8 API, iboshelwe kumqoqi kadoti, futhi isebenzisa ukumelwa kweyunithi yezinhlamvu ethi V8 kanye nemodeli yento. Enqubweni yokujwayela i-API yangaphakathi ye-SpiderMonkey ngo-2014, injini ye-Irregexp yabhalwa kabusha kancane, kanye nezinguquko ezivelayo, njengefulegi elithi '\u', lapho kungenzeka khona.
Ngeshwa, ukugcina imfoloko evumelanisiwe kunzima futhi kusebenzisa izinsiza. Ngokufika kwezici ezintsha ezihlobene nezinkulumo ezivamile ezingeni le-ECMAScript 2018, abathuthukisi be-Mozilla bacabange ukuthi bangakwenza kanjani kube lula ukuthutha izinguquko ukusuka ku-Irregexp. Njengendlela yokuphuma, kwahlongozwa umqondo wokugoqa, ovumela ukusebenzisa injini ye-Irregexp ecishe ingashintshiwe ku-SpiderMonkey (ushintsho luncishiswa kuphela ekushintsheni okuzenzakalelayo kwamabhulokhi "#include").
Uhlaka luhlinzeka i-Irregexp ngamakhono adingekayo aqondene ne-V8, okuhlanganisa ukuphathwa kwenkumbulo nemisebenzi yokukhiqiza ikhodi, kanye nezakhiwo zedatha zomdabu ezisetshenziswa kusetshenziswa izinjini zokulawula inkumbulo, abakhiqizi bekhodi, nezakhiwo ze-SpiderMonkey.
Ukubuyekeza injini ye-RegExp kuzovumela iFirefox ukuthi isekele izici ezifana nokuthwebula amagama, ukuphunyuka kwesigaba sezinhlamvu ze-Unicode, ifulegi le-dotAll, kanye nemodi ye-Lookbehind:
-
Amaqembu aqanjiwe ikuvumela ukuthi uhlobanise izingxenye zeyunithi yezinhlamvu ezimataniswa yisisho esivamile esinamagama athile esikhundleni sezinombolo zochungechunge zokufanisa (isibonelo, esikhundleni sokuthi β/(\d{4})-(\d{2})-(\d{ 2})/β ungacacisa β/( ?\d{4})-(?\d{2})-(?\d{2})/" futhi ufinyelele unyaka hhayi ngomphumela[1], kodwa ngomphumela.amaqembu.unyaka). -
Amakilasi okuphunyuka Izinhlamvu ze-Unicode zengeza izakhiwo \p{...} kanye no-\P{...}, isibonelo, \p{Number} ichaza zonke izinhlamvu ezingaba khona ezibonisa izinombolo (kuhlanganise nezimpawu ezifana no-β ), \p{Alfabhethi} - izinhlamvu (kuhlanganise ama-hieroglyphs ), \p{Math} β izimpawu zezibalo, njll. - Maka umkhosi
dotAll kubangela ukuthi "." imaski ivutha. kuhlanganise nezinhlamvu zokuphakelayo komugqa. - Imodi
Bheka ngemuva ikuvumela ukuthi unqume ngenkulumo evamile ukuthi iphethini eyodwa yandulela enye (isibonelo, ukufanisa inani ledola ngaphandle kokubamba uphawu lwedola).
Le phrojekthi yenziwe ngokubamba iqhaza kwabathuthukisi be-V8, abathi, bona, basebenze ukunciphisa ukuncika kwe-Irregexp ku-V8, futhi bahambisa izici ezithile ezingeke zisetshenziswe kusetshenziswa i-SpiderMonkey ekukhubazeni amabhulokhi "#ifdef". Ukubambisana kwabonakala kuzuzisa bobabili. Ngakolunye uhlangothi, abathuthukisi be-Mozilla bathumele izinguquko ku-Irregexp ezisusa ezinye
Source: opennet.ru