feat: add Python and Java regex engines

This commit is contained in:
2026-07-27 02:02:21 +02:00
parent 4951c966d4
commit 7079cde15f
95 changed files with 8866 additions and 251 deletions

View File

@@ -47,11 +47,19 @@ export function HelpDialog({
<section>
<h3>What runs where</h3>
<p>
Syntax parsing and actual ECMAScript or PCRE2 execution run in
separate, killable browser workers. PCRE2 is the bundled,
self-hosted 10.47 WebAssembly engine. Patterns, subjects and
projects are never uploaded. There is no backend, account,
telemetry, CDN dependency, or executable replacement function.
Syntax parsing and active-engine execution run in separate, killable
browser workers. ECMAScript uses the browser RegExp implementation;
PCRE2 uses the bundled 10.47 WebAssembly engine; Python uses CPython
3.14 through Pyodide; and Java uses TeaVM&apos;s java.util.regex
compatibility implementation. The result metadata names the runtime
actually used. Patterns, subjects and projects are never uploaded.
There is no backend, account, telemetry, CDN dependency, or
executable replacement function.
</p>
<p>
TeaVM 0.15.0 is not OpenJDK. Its replacement implementation accepts
single-digit $n references, so $12 means $1 followed by literal 2.
Java SE ${"{name}"} references are reported as unavailable.
</p>
</section>
<section>
@@ -87,9 +95,9 @@ export function HelpDialog({
and negative subject runs through the selected actual engine before
it can become a test; candidates with the wrong outcome are
discarded. The coverage report names unsupported constructs.
Sampling is not proof of complete language coverage. PCRE2 remains
unavailable until its structural provider exposes the required AST;
its syntax is never reinterpreted as ECMAScript.
Sampling is not proof of complete language coverage. Other flavours
remain unavailable until their structural providers expose the
required AST; their syntax is never reinterpreted as ECMAScript.
</p>
</section>
<section>
@@ -97,11 +105,11 @@ export function HelpDialog({
<p>
The ECMAScript formatter makes only grammar-backed literal/control
escape changes; it does not insert layout whitespace or reinterpret
PCRE2 syntax. Applying a preview requires independent source and
candidate reparsing, actual-engine match/replacement comparison,
every applicable exact unit test, and an explicit confirmation.
Passing bounded checks is evidence for those snapshots, not proof
for every possible subject.
another flavour&apos;s syntax. Applying a preview requires
independent source and candidate reparsing, actual-engine
match/replacement comparison, every applicable exact unit test, and
an explicit confirmation. Passing bounded checks is evidence for
those snapshots, not proof for every possible subject.
</p>
</section>
<section>