WIP: continue Phase 36 regex diagnostics and Joni retirement - #1079
Merged
Conversation
Match Perl's fatal diagnostic and source context for malformed U+ forms in strings, regexes, ordinary character classes, and extended classes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Match Perl's fatal diagnostics for unknown and empty character names in strings, regexes, ordinary character classes, and extended classes. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Parse and compile Perl (?(DEFINE)...) containers directly in Joni, preserving lexical group numbering, callable definitions, recursion, and Perl diagnostics. Remove the runtime adapter lowering and preserve enclosing captures across completed DEFINE calls. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Use the existing syntax-aware route scanner for real positive and negative lookbehind assertions, and retire the unreachable Java lookbehind validator. Keep escape, class, quoted, and comment lookalikes on the normal path. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Route syntactically real branch-reset groups through native Joni and remove the unreachable Java branch-reset rewrite and capture-map state. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Preserve regex-only plain \\N and its interval forms through frontend parsing, compile it natively as a negated line-feed class, and retain named-character handling and Perl's character-class diagnostic. Generated with [Codex](https://openai.com/codex) Co-Authored-By: Codex <codex@openai.com>
Expect default and auto routing to select Joni for ordinary lookbehind and branch-reset subroutine calls now that their native implementations are in the combined Phase 36 integration branch. Generated with Codex (https://openai.com/codex) Co-Authored-By: OpenAI Codex <codex@openai.com>
fglock
force-pushed
the
integration/phase36-native-syntax-v8
branch
from
August 19, 2026 15:11
93008e5 to
aff2c86
Compare
fglock
changed the base branch from
integration/phase36-native-syntax-v6
to
master
August 19, 2026 15:12
fglock
marked this pull request as ready for review
August 19, 2026 15:13
The validated tree was force-pushed while the pull request still targeted its merged prerequisite branch. Add an empty synchronization commit after changing the base to master so the master-targeted pull_request workflow runs. Generated with Codex (https://openai.com/codex) Co-Authored-By: OpenAI Codex <codex@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
commit currently under Ubuntu/Windows CI
strings, regexes, ordinary classes, and extended classes
(?(DEFINE)...)containers natively in the PerlOnJava Joni forkthe temporary capture-map adapter
\Nnon-newline escape natively, including intervalquantifiers and
/s-independent behaviorThis batch removes approximately 580 lines of temporary Java-side regex
adaptation while retaining explicit Java mode for differential diagnosis.
Validation
interpreter, and forced-Joni modes
34-row differential matrix with no introductions
forced backend checks green, including the 255/256 boundary case
10/10, 3/3, and 10/10
\N: new system-Perl contract 19/19; direct Joni unit coverage forinterval and option behavior
makebefore rebase at93008e559: all 17 tasks green in5m12s (
/tmp/make-phase36-v8-controlflow-plain-n-rerun.log)makeataff2c868e: all 17 tasks green in 3m36s(
/tmp/make-pr1079-rebased-aff2c868e.log)Stack and next gate
PR 1078 passed Ubuntu and Windows CI and merged as
e44ece2b5. This PR has beenrebased and retargeted to
master; all seven successor commits remain, whilethe already-upstream Windows correction was correctly skipped. The PR remains
draft until CI on the rebased head is green.
The next independent implementation lanes remain byte/Unicode fold provenance,
native dynamic-pattern execution, runtime diagnostic retirement, and the
four-leg forced-backend corpus differential.