Skip to content

Execute bounded anchored literal programs with a prefix comparison - #6

Merged
proggeramlug merged 4 commits into
mainfrom
px/anchored-literal-prefix
Oct 18, 2026
Merged

proggeramlug merged 4 commits into
mainfrom
px/anchored-literal-prefix

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Released as perex 0.1.14, merged source f3deb99 and tag v0.1.14. The downloaded registry crate matches its index SHA-256 51a7ee1a53a0fbe25a8b9f5be8ba3fbee87aa6ecca0fda04c99d24d8b9b386da, VCS source commit, and every released Rust source file.

A bounded ^ followed by literal characters now compares the original subject with immutable program instructions before any DFA cache or evaluator scratch is needed. ASCII byte subjects compare directly; other storage uses the lossless cursor. Format 16 adds a descriptor derived and revalidated from the complete instruction sequence. Multiline assertions, case folding, captures and other suffixes keep their existing executors.

The executor preserves Unicode starts between surrogate halves, UTF-16 match spans and work exhaustion. Programs remain movable data with no generated per-pattern native code or retained subject storage.

Validation passed: fmt, all-target check, strict clippy, all debug/release unit and doc tests (460 total), and the Node engine differential harness with DFA enabled (12,590 agreements, three existing reviewed reference disagreements, zero unreviewed differences). New complete-answer witnesses cover original UTF-16/WTF-8 storage, all starts, relocation, work exhaustion and descriptor corruption. Package verification also passed before publication.

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f87db10c-45f2-498e-b782-0daf3fe7fac0
📥 Commits

Reviewing files that changed from the base of the PR and between c13fdc9 and 3d65ece.

⛔ Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing: 14
  • CLAUDE.md
  • Cargo.toml
  • docs/engine.md
  • docs/leading.md
  • docs/literal-prefix.md
  • src/compiler/prepared.rs
  • src/dfa.rs
  • src/lib.rs
  • src/literal.rs
  • src/program.rs
  • tests/atom_repeat.rs
  • tests/classes.rs
  • tests/literal_prefix.rs
  • tests/modifiers.rs
+----------------------------------+
| Bazinga! You missed a semicolon. |
+----------------------------------+
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@proggeramlug
proggeramlug marked this pull request as ready for review October 18, 2026 10:18
@proggeramlug
proggeramlug merged commit f3deb99 into main Oct 18, 2026
4 of 10 checks passed
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