Mozilla обновява поддръжката на RegExp в JavaScript двигателя SpiderMonkey

Mozilla е оборудвала своето време за изпълнение на SpiderMonkey JavaScript с нов механизъм за регулярни изрази (RegExps), за да улесни поддържането на съвременните функции на RegExps. Новият двигател RegExp дебютира в браузъра Firefox 78 Developer Edition. 

RegExps са широко използван инструмент за манипулиране на низове, предлагащ богат синтаксис за описване и улавяне на информация за символи. Mozilla през 2014 г. замени своя YARR механизъм за регулярни изрази с раздвоено копие на Irregexp, механизма за регулярни изрази, използван в JavaScript V8 на Google V8. Mozilla сериозно пренаписа Irregexp, за да използва свои собствени API. Това улесни работата с новия двигател, но по-трудното импортиране на нови функции нагоре по веригата. И с течение на времето Mozilla изостана в подкрепата на новите функции на ES2018 RegExp.

Новият подход на Mozilla - новоизграден шим слой за IrregExp - осигурява пълен достъп до V8 функционалност, от разпределяне на паметта и генериране на код до структури от данни и помощни функции. В резултат на това SpiderMonkey получава по-силна основа за бъдеща поддръжка на RegExp, която позволява на екипа на SpiderMonkey да добавя нов синтаксис на RegEx по-бързо. 

Mozilla заяви, че усилията са довели до пълна поддръжка на всички функции на ECMAScript RegExp. Mozilla се надява, че работата й по новия двигател може да бъде основата за RegExp във Firefox за години напред. Изданието за разработчици на Firefox, включващо най-новите инструменти за разработчици в бета версия, може да бъде достъпно от mozilla.org.