Skip to content

WIP: complete native Joni dynamic regex execution - #1085

Open
fglock wants to merge 11 commits into
masterfrom
fix/phase36-dynamic-integration-p2
Open

WIP: complete native Joni dynamic regex execution#1085
fglock wants to merge 11 commits into
masterfrom
fix/phase36-dynamic-integration-p2

Conversation

@fglock

@fglock fglock commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • implement native Perl diagnostics for unterminated option/comment groups, incomplete group effects, and empty control verbs
  • retire the dynamic Java pattern fallback adapter in favor of native Joni continuations
  • preserve Perl callback mutation unwind and destructive-control commit semantics
  • update the forward-only Phase 36 tracker

Validation

  • focused system-Perl oracles validated before PerlOnJava fixtures
  • default and forced-Joni JVM/interpreter legs pass for the affected fixtures
  • direct Joni tests pass
  • exact imported regexp.t gates remove the targeted identities with zero introductions
  • rebased diagnostic head: full make passed all 17 tasks
  • callback transaction fixtures pass system Perl (70 tests) and both PerlOnJava execution backends
  • destructive callback commit/MARK rollback oracle passes system Perl and both execution backends
  • exact imported regexp.t: 2017/2210, complete, with the identical frozen failure/TODO identity set and zero introductions
  • combined corrected integration: unfiltered full make passed all 17 tasks

Status

WIP: worker deliveries for branch-reset captures, numeric backreferences, and extended classes are still in progress and will be integrated in follow-up updates.

fglock and others added 11 commits August 19, 2026 21:49
Emit Perl's native sequence diagnostic when inline option modifiers end before
a closing parenthesis or scoped-group colon.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Emit Perl's native sequence diagnostic when a regex comment group reaches the
end of the pattern without its closing parenthesis.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Emit Perl's native incomplete-sequence diagnostic when a pattern ends
immediately after the group-effect prefix.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Treat an empty star group as an unknown verb pattern, matching Perl's native
diagnostic instead of reporting an unknown control construct.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Update the Phase 36 current-position summary after the focused Perl,
direct-Joni, runtime, and imported-regexp gates passed.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Route runtime (??{...}) execution exclusively through the structured native
Joni callout path. Remove the obsolete marker, deferred warning/error cache
split, and constant-inlining fallback while retaining syntax-only validation
for raw executable source.

Add a system-Perl contract and direct Joni coverage for nested alternatives,
captures, modifiers, callback state, modes, recursion, and commit ordering.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Track aggregate mutations made by native regex code blocks so ordinary
backtracking restores them while scalar assignments retain Perl semantics.
Commit callback state when destructive control verbs cut the active path,
including across dynamic regex continuations, while MARK still unwinds.

Generated with [Codex](https://openai.com/codex)

Co-Authored-By: Codex <codex@openai.com>
Mark runtime dynamic patterns and adapter retirement complete after the
native continuation and callback unwind gates passed.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Keep ordinary callback aggregate side effects from abandoned alternatives when
another branch succeeds, while restoring all plain-block aggregate mutations
when the complete match fails. Preserve per-path local-scope unwind and commit
mutations cut by destructive control verbs.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Describe aggregate rollback at the complete-match boundary and preserve the
distinct successful-alternative and destructive-control outcomes.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
Lock in Perl's distinction between callback mutation commits for destructive
control verbs and ordinary rollback after MARK followed by failure.

Generated with [Codex](https://openai.com/codex/)

Co-Authored-By: Codex <codex@openai.com>
@fglock
fglock marked this pull request as ready for review August 19, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant