Mozilla、今後はV8の正規表現エンジンをFirefoxにそのまま取り込むと表明。Publickey×Mozilla、今後はV8の正規表現エンジンをFirefoxにそのまま取り込むと表明。そのための互換レイヤを開発2020年6月8日WebブラウザにはJavaScriptを実行するためのJavaScriptエンジンが搭載されています。それはChromeであれば「V8」、Firefoxであれば「SpiderMonkey」と呼ばれ、それぞれのWebブラウザベンダがECMAScriptの標準に準拠したうえで独自に実装しています。JavaScriptは以前から正規表現の機能を備えているため、正規表現を解釈し展開するための正規表現エンジンもそれぞれのWebブラウザベンダが実装を行っていました。その正規表現エンジンについてMozillaは今後、V8の正規表現エンジンのコードをそのままFirefoxのSpiderMonkeyに取り込むようにすると表明しました。layer)を開発したとしています。移植作業がだんだん難しくなり、互換レイヤの開発を決意Mozillaは2014年に、それまで採用していたJavaScriptCore/WebKit由来の正規表現エンジン「YARR」から、Chromeが採用している正規表現エンジンの「Irregexp」のフォークへと実装を切り替えました。このときはSpiderMonkeyでIrregexpのフォークが呼び出せるようにコードの改変による移植を行い、その後も正規表現の仕様変更や追加などによるIrregexpの変更があるたびに、Mozillaが移植先のコードに反映させていました。正規表現の仕様はそれほど頻繁な変更や機能追加が行われないため、この移植作業は十分に機能していたとMozillaは説明します。ES2018において正規表現に4つの機能追加が行われ、それに合わせた機能追加がIrregexpのコードに対しても行われました。MozillaはこれらすべてをSpiderMonkey用のIrregexpに移植するのは難しいと考え、別のアプローチを検討し始めます。次の結論に達したことが、次のように説明されました。SpiderMonkey」からの引用です。statements.この記事を書いている時点で、SpiderMonkeyはV8リポジトリからインポートされた最新バージョンのIrregexpのコードを、#include文を機械的に書き換える以外、なにも変更せずに使用しています。layer)を開発しました。次のような機能を備えています。structures.この互換レイヤは、IrregexpがV8で利用できるすべての機能、メモリ割り当てからコード生成、さまざまなユーティリティ関数やデータ構造に至るまで、すべての機能に(SpiderMonkey上でも)アクセスできるようにします。SpiderMonkey」から引用これによりMozillaは今後もIrrgexpのコードをSpiderMonkeyに組み込むこととし、またIrregexpのバグに関する報告なども行っているとしています。この互換レイヤの開発にはV8チームも協力したとのことです。SpiderMonkey」では、この互換レイヤの詳細についても開設されていますので、興味のある方はぜひ原文もお読みください。標準仕様に沿っているはずでも実装が違うと微妙に結果が違うという現象は、HTMLやMarkdown、そして正規表現においても多くのプログラマがしばしば遭遇していたはずです。いう意味では、実装が統一されることで結果のゆらぎが出にくくなることは歓迎すべき動きでしょう。一方で、Webやソフトウェアの多様性が減るという面では少し寂しい気もします。12:15)YARRはMozilla独自の正規表現エンジンではなくJavaScriptCore/WebKit由来でした。本文が誤っていましたので、修正しました。MozillaPublickey広告.NET帳票ツール。デザイナはExcel。クラウド/サーバー環境対応。.NET5/6/8に対応。デザイナはExcelのため、エンドユーザーも編集可能。ノーコードでCSVファイルから帳票を出力する、CSVReportも新収録。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。Copilotが複数ファイルにわたるコード変更や生成に対応。CopilotがAppleのXcodeに対応。Xcode」パブリックプレビューOrbがデジタル通貨決済システムの基盤にNewSQLのTiDBを採用。ETLをなくし、トランザクション処理とデータ分析を統合可能に[PR]日本人プログラマ向け、プログラミングに適した「フォント」まとめ。2024年版GitHubで最も使われている言語、PythonがJavaScriptを抜いて1位に。生成AI関連プロジェクト急増で。Sonnetが選択可能に。100」の仮想マシンを正式提供開始JetBrains、JavaScript/TypeScriptのためのIDE「WebStorm」と.NETのためのIDE「Rider」、非商用利用ならば無償で利用可能に。