26 lines
1.3 KiB
Markdown
26 lines
1.3 KiB
Markdown
# 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`.
|