Ohjelmointi

Mozilla uudistaa RegExp-tuen SpiderMonkey JavaScript -moottorissa

Mozilla on varustanut SpiderMonkeyn JavaScript-ajonaikansa uudella säännöllisten lausekkeiden (RegExps) moottorilla, jotta nykyaikaisten RegExps-ominaisuuksien tukeminen olisi helpompaa. Uusi RegExp-moottori käynnistyy Firefox 78 Developer Edition -selaimessa.

RegExps on paljon käytetty työkalu merkkijonojen manipulointiin, ja se tarjoaa runsaan syntaksin merkkitietojen kuvaamiseen ja sieppaamiseen. Mozilla oli vuonna 2014 korvannut YARR-säännöllisen lausekkeen moottorin haarautetulla kopiolla Irregexp-nimisen säännöllisen lausekkeen moottorin, jota käytetään Google V8 JavaScript-moottorissa. Mozilla kirjoitti voimakkaasti Irregexpin käyttämään omia sovellusliittymiään. Tämä helpotti uuden moottorin käyttöä, mutta uusien alkupään ominaisuuksien tuominen oli vaikeampi. Ajan myötä Mozilla jäi jälkeen tukemalla uusia ES2018 RegExp -ominaisuuksia.

Mozillan uusi lähestymistapa - äskettäin rakennettu välikerros IrregExp: lle - tarjoaa täyden pääsyn V8-toimintoihin muistin varaamisesta ja koodin luomisesta tietorakenteisiin ja apuohjelmatoimintoihin. Tämän seurauksena SpiderMonkey saa vahvemman perustan tulevalle RegExp-tuelle, joka antaa SpiderMonkey-tiimille mahdollisuuden lisätä uutta RegEx-syntaksia nopeammin.

Mozilla sanoi, että ponnistelut ovat tukeneet kaikkia ECMAScript RegExp -ominaisuuksia. Mozilla toivoo, että sen työ uudella moottorilla voi olla pohja Firefoxin RegExp: lle tulevina vuosina. Firefox Developer Edition, joka sisältää uusimmat kehittäjätyökalut beta-versiossa, on käytettävissä osoitteessa mozilla.org.