frostney / frostney/GocciaScript
Support RegExp buffer boundary assertions
Nobody has claimed this yet.
- Dominant language
- Pascal
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 45
Description
Summary
Implement the Stage 3 TC39 proposal: https://github.com/tc39/proposal-regexp-buffer-boundaries
Implement their exact start, absolute-end, and before-final-line-terminator semantics in proposal-defined Unicode modes.
Why
This proposal fits GocciaScript's modern ECMAScript surface and the 0.13.0 proposal roadmap. It should extend the engine's existing architecture rather than arrive as a userland shim.
Current behavior
The custom RegExp compiler supports anchors, lookaround, Unicode modes, and modifiers but not \A, \z, or \Z.
Expected behavior
Implement their exact start, absolute-end, and before-final-line-terminator semantics in proposal-defined Unicode modes.
Scope notes
Extend RegExp Compiler, Program, VM, and runtime with correct literal/constructor grammar, backtracking, CRLF, sticky/global, and lastIndex tests. Preserve non-Unicode behavior. Additive syntax: no engine flag.
Related bytecode roadmap: #871 and #875. Update relevant documentation and the Goccia proposal inventory. Use the current proposal specification at implementation time; add focused project tests and matching pinned Test262/proposal coverage without regressions.
Acceptance criteria
- Parser/API surface, descriptors, evaluation order, errors, and protocol behavior match the current proposal.
- Implementation uses the identified shared engine seam without a duplicate compatibility shim.
- Focused positive, negative, abrupt-completion, and edge-case tests cover the proposal.
- Relevant project suites, pinned Test262 cases, formatting, and documentation checks pass.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the current TC39 RegExp buffer-boundaries proposal, then trace the existing RegExp Compiler, Program, VM, and runtime seams. Review related bytecode issues #871 and #875 before defining the parser and execution changes. Done means focused project tests, pinned Test262/proposal coverage, documentation, and relevant suites pass without regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers, documentation, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100