Mozilla réorganise la prise en charge de RegExp dans le moteur JavaScript SpiderMonkey

Mozilla a équipé son environnement d'exécution JavaScript SpiderMonkey d'un nouveau moteur d'expressions régulières (RegExps), pour faciliter la prise en charge des fonctionnalités RegExps modernes. Le nouveau moteur RegExp fait ses débuts dans le navigateur Firefox 78 Developer Edition. 

RegExps est un outil très utilisé pour manipuler des chaînes, offrant une syntaxe riche pour décrire et capturer les informations de caractère. Mozilla en 2014 avait remplacé son moteur d'expressions régulières YARR par une copie fourchue d'Irregexp, le moteur d'expression régulière utilisé dans le moteur JavaScript de Google V8. Mozilla a fortement réécrit Irregexp pour utiliser ses propres API. Cela a facilité le travail avec le nouveau moteur, mais plus difficile d'importer de nouvelles fonctionnalités en amont. Et au fil du temps, Mozilla a pris du retard dans la prise en charge des nouvelles fonctionnalités RegExp ES2018.

La nouvelle approche de Mozilla - une couche de shim nouvellement construite pour IrregExp - offre un accès complet aux fonctionnalités de V8, de l'allocation de mémoire et de la génération de code aux structures de données et aux fonctions utilitaires. En conséquence, SpiderMonkey acquiert une base plus solide pour le futur support RegExp, une base qui permet à l'équipe SpiderMonkey d'ajouter plus rapidement une nouvelle syntaxe RegEx. 

Mozilla a déclaré que cet effort avait abouti à une prise en charge complète de toutes les fonctionnalités d'ECMAScript RegExp. Mozilla espère que son travail sur le nouveau moteur pourra être la base de RegExp dans Firefox pour les années à venir. L'édition développeur de Firefox, qui comprend les derniers outils de développement en version bêta, est accessible depuis mozilla.org.