frostney / frostney/GocciaScript
Support RegExp extended mode and comments
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 1 TC39 proposal: https://github.com/tc39/proposal-regexp-x-mode
Implement the current proposal's extended-mode grammar, comments, scoped changes, and character-class/escape boundaries.
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
Standard flags and scoped modifier groups exist, but extended whitespace/comment mode does not.
Expected behavior
Implement the current proposal's extended-mode grammar, comments, scoped changes, and character-class/escape boundaries.
Scope notes
Integrate in the RegExp compiler lexical layer so source offsets, diagnostics, Unicode sets, captures, and backreferences remain correct. Follow upstream spelling exactly; add literal/constructor tests and performance checks. Additive RegExp syntax: no engine flag.
Related bytecode roadmap: #871 and #875. Update the relevant language/built-in documentation and Goccia proposal inventory. Use the proposal repository and its current 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 observable 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 TC39 RegExp extended-mode proposal and the engine's RegExp compiler lexical layer mentioned in the issue. Identify the shared engine seam, then review existing literal, constructor, project-suite, and pinned Test262/proposal tests. Done means proposal behavior, diagnostics, offsets, edge cases, performance checks, and relevant documentation all pass without regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100