Mozilla ta canza zuwa amfani da injin magana na yau da kullun tare da Chromium

SpiderMonkey JavaScript injin da ake amfani dashi a Firefox canja wuri don amfani da sabunta aiwatar da maganganu na yau da kullun dangane da lambar yanzu Irregexp daga injin V8 JavaScript da aka yi amfani da shi a cikin masu bincike bisa aikin Chromium. Za a ba da sabon aiwatar da RegExp a cikin Firefox 78, wanda aka tsara don Yuni 30, kuma zai kawo duk abubuwan ECMAScript da suka ɓace waɗanda ke da alaƙa da maganganu na yau da kullun zuwa mai binciken.

An lura cewa injin RegExp a cikin SpiderMonkey an ƙera shi azaman ɓangaren daban, wanda ya sa ya ɗanɗana mai zaman kansa kuma ya dace da maye gurbin ba tare da buƙatar yin manyan canje-canje ga tushen lambar ba. Modularity ya ba da damar a cikin 2014 don maye gurbin injin YARR RegExp da aka fara amfani da shi a Firefox tare da cokali mai yatsa na injin Irregexp daga V8. An ɗaure Irregexp zuwa V8 API, an ɗaure shi da mai tara shara, kuma yana amfani da takamaiman kirtani na V8 da samfurin abu. A cikin tsarin daidaitawa zuwa API na ciki na SpiderMonkey a cikin 2014, an sake rubuta injin Irregexp, da canje-canje masu tasowa, kamar tutar '\u', inda zai yiwu. canja wuri a cikin cokali mai yatsa wanda Mozilla ke kulawa.

Abin takaici, riƙe cokali mai yatsa mai aiki tare yana da wahala kuma yana da ƙarfin albarkatu. Tare da zuwan sababbin fasalulluka masu alaƙa da maganganun yau da kullun a cikin daidaitattun ECMAScript 2018, masu haɓaka Mozilla sunyi tunanin yadda zasu sauƙaƙa ƙaura canje-canje daga Irregexp. A matsayin hanyar fita, an gabatar da ra'ayi na nannade, wanda ke ba da damar yin amfani da injin Irregexp kusan canzawa a cikin SpiderMonkey (canje-canjen an rage su ne kawai don maye gurbin atomatik na tubalan "#clude").

Mozilla ta canza zuwa amfani da injin magana na yau da kullun tare da Chromium

Tsarin yana ba da Irregexp tare da takamaiman damar V8 masu dacewa, gami da sarrafa ƙwaƙwalwar ajiya da ayyukan ƙirƙira lambar, da kuma tsarin bayanan asali waɗanda aka aiwatar ta amfani da injunan sarrafa ƙwaƙwalwar ajiya, na'urori masu ƙira, da tsarin SpiderMonkey.

Ɗaukaka injin RegExp zai ba Firefox damar goyan bayan fasalulluka kamar kama mai suna, tserewa aji na Unicode, tuta ta dotAll, da yanayin Look baya:

  • Ƙungiyoyi masu suna ba ka damar haɗa sassan kirtani da suka dace da magana ta yau da kullun tare da takamaiman sunaye maimakon jerin lambobin matches (misali, maimakon “/(\d{4})-(\d{2})-(\d{2})-(\d{ 4})/" za ka iya saka"/( ? \d{2})-(? \d{2})-(? \d{1})/" da samun damar shekara ba ta hanyar sakamako[XNUMX] ba, amma ta hanyar sakamako.groups.year).
  • Gudun karatu Haruffan Unicode suna ƙara gine-gine \p{...} da \P{...}, alal misali, \p{Lambar} yana bayyana dukkan harufa masu yuwuwa tare da lambobi (gami da alamomi kamar ①), \p{Alphabetic} - haruffa (ciki har da haruffa) hieroglyphs), \p{Math} — alamomin lissafi, da sauransu.
  • Flag dotAll yana haifar da "" abin rufe fuska zuwa wuta. gami da haruffan ciyarwar layi.
  • Yanayi Duba baya yana ba ku damar tantancewa a cikin magana ta yau da kullun cewa tsarin ɗaya ya riga wani (misali, daidaita adadin dala ba tare da ɗaukar alamar dala ba).

An gudanar da aikin ne tare da halartar masu haɓaka V8, waɗanda, a nasu bangaren, sun yi aiki don rage dogaro da Irregexp akan V8, kuma sun motsa wasu abubuwan da ba za a iya aiwatar da su ta hanyar amfani da SpiderMonkey don kashe tubalan "#ifdef". Haɗin gwiwar ya zama mai amfanar juna. A nasu bangaren, masu haɓaka Mozilla sun ƙaddamar da canje-canje ga Irregexp wanda ke kawar da wasu rashin daidaito tare da buƙatun ma'aunin JavaScript da inganta ingancin code. Hakanan, yayin gwaji na Firefox, kurakuran da ba a san su ba a baya a cikin lambar Irregexp waɗanda suka haifar da faɗuwa an gano kuma an kawar da su.

source: budenet.ru

Add a comment