feat: YottaDB m-modern-corpus coverage — 6 of 8 backlog features (v0.1.2)#7
Open
rafael5 wants to merge 1 commit into
Open
feat: YottaDB m-modern-corpus coverage — 6 of 8 backlog features (v0.1.2)#7rafael5 wants to merge 1 commit into
rafael5 wants to merge 1 commit into
Conversation
…1.2) Close the bulk of docs/m-modern-corpus-coverage-gaps.md: standard YottaDB syntax the VistA-tuned grammar never exercised. All additive grammar.js rules — no src/scanner.c change needed, since each new construct's lead char (&, /, |, [) is only reachable at argument / expression start or right after a global ^, so the existing LR states disambiguate it from the binary &/ / ]) operators without byte-level lookahead. Shipped: - (1) &/$& external C call-outs: external_call + external_function - (2) WRITE/USE /mnemonic device controls: device_control - (4) TSTART (vars):(chars) + (8) LOCK (^a,^b):n: optional argument_postconditional on the set_target_list argument branch - (5) KILL * / TSTART *: asterisk_argument - (6) extended reference ^|env|gvn and single-region ^[env]gvn: extended_reference prefix on global_variable This branch also lands docs/m-modern-corpus-coverage-gaps.md (the backlog/spec), which the prior docs-discoverability-phase0 work authored but never merged to main. 18 new corpus tests; full suite 132/132. Regenerated src/parser.c with the pinned tree-sitter-cli@0.25.10 (byte-identical regen of the unmodified grammar verified first); ABI stays 15. Version 0.1.1 -> 0.1.2 across all six declarations. Regression gate (full corpora): m-modern (4,215): errnode 451 -> 230 (89.30% -> 94.54% clean) VistA (39,330): errnode 363 -> 336 (99.08% -> 99.15%, improved) VistA did not regress on either errnode or HasError. Re-backlogged tail: vendor $Z* (upstream m-standard), Z-command special-arg surface, multi-region ^[a,b] comma lists, ###REPLACE macros. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.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.
Closes the bulk of
docs/m-modern-corpus-coverage-gaps.md— standard YottaDB syntax the VistA-tuned grammar never exercised. All additivegrammar.jsrules; nosrc/scanner.cchange (each new lead char&///|/[is only reachable at argument/expression start or right after a global^, so existing LR states disambiguate without byte-level lookahead).This branch also lands
docs/m-modern-corpus-coverage-gaps.md(the backlog/spec), authored by the prior docs-discoverability work but never merged to main.Shipped (6 of 8 backlog features)
&/$&external C call-outs —external_call+external_function+_external_nameWRITE/USE/mnemonicdevice controls —device_controlTSTART (vars):(chars)+ (8)LOCK (^a,^b):n— optionalargument_postconditionalon theset_target_listargument branchKILL */TSTART *—asterisk_argument^|env|gvn+ single-region^[env]gvnviaextended_referenceprefix onglobal_variableVerification
src/parser.cregenerated with pinned tree-sitter-cli@0.25.10 (byte-identical regen of the unmodified grammar verified first as a safety gate); ABI stays 15.Regression gate (full corpora)
VistA did not regress on either metric — it improved (a few VistA-on-YDB routines share the
&/extended-ref forms).Re-backlogged tail
Vendor
$Z*(upstream m-standard data), Z-command special-arg surface (ZWRITE ^?.E,ZBREAK …#n#:"action",*/range subscripts), multi-region^[gld,region]comma lists,###REPLACEtest macros.READ X#nneeds no work (the#already lexes as modulo → no ERROR). Details in the gaps doc.Follow-up: m-cli must bump its m-parse dependency to consume the re-vendored grammar (separate).
🤖 Generated with Claude Code