1.3 KiB
TeaVM Java regular-expression engine
This project compiles a bounded bridge around TeaVM 0.15.0's
java.util.regex.Pattern and Matcher class-library implementation to a
minified ES2015 module.
The runtime is intentionally identified as TeaVM java.util.regex 0.15.0.
TeaVM supplies its own Apache Harmony-derived Java class-library subset; the
generated engine is not OpenJDK and must not be presented as exact OpenJDK
semantics.
The U application flag is a compatibility request. TeaVM 0.15.0 does not
implement OpenJDK's Pattern.UNICODE_CHARACTER_CLASS; the bridge implies
Unicode case folding but retains TeaVM's predefined-character-class and word
boundary behaviour. The TypeScript adapter reports this boundary.
Replacement is delegated to TeaVM 0.15.0's native Matcher implementation.
That implementation recognizes only a single decimal digit after $ ($0
through $9, subject to the compiled group count). It does not implement
OpenJDK's ${name} named-replacement syntax; the bridge returns a
replacement-error when such a replacement is attempted.
Maven builds target/generated/java-regex.mjs. The repository pack script
verifies the pinned source identity, bridge source hashes, licence/notice and
generated module before it can be installed under public/engines/java.