Repository navigation
feat: alias vocabulary — qualified refs, imports, captures, non_word_boundary - #9
Merged
Merged
Conversation
…boundary Completes the alias handling the Ruby corpus vocabulary needs: - Qualified alias refs (map.<dep-alias>.<name>): the parser captures the dotted form; the converter resolves the target through dep aliases, parses the dependency map's source (memoized), and renders the alias in pattern, expression, and replacement positions. - Imported (alias-less) dependencies merge their aliases into scope — resolved lazily through the same dependency table; targets that resolve to a map file are parsed, legacy libraries keep the library-alias harvest. - capture(...) becomes an expression term (one paren nesting), so capture-bearing aliases compose in patterns; ref(N) in a from position is a regex backreference. - non_word_boundary joins the primitives (expr tokenizer + pattern table); the old 'non_boundary' name is gone. - Multi-char string sets stay alternations in the PATTERN renderer too — any(['hello','Hello']) was collapsing to a char class. - The import seed runs after the per-doc context reset (the seed was silently wiped by the reset that followed it).
The dep-map fixture must exist on the load path the test creates, not the developer's machine.
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.
Completes the alias handling the Ruby corpus vocabulary needs (companion: interscript-ruby grammar/generator side lands alongside):
map.<dep-alias>.<name>— parser captures the dotted form; the converter resolves the target via dep aliases, parses the dependency's source (memoized per target), and renders the alias in pattern, expression, and replacement positions._library_aliasesharvest.capture(...)as an expression term (one paren nesting level) so capture-bearing aliases compose in patterns;ref(N)in a from position is a regex backreference.non_word_boundaryprimitive (expr tokenizer + pattern table; the deadnon_boundaryname removed).any(['hello','Hello'])collapsed to a char class in_regex_of(the_render_itemtwin was fixed in fix: any() in results picks the first alternative; multi-char sets stay alternations #8).Suite: 35 passed / 1 xpassed (with
INTERSCRIPT_MAPS_PATH). Via the Ruby bridge: dsl_stage Python legs down to 1 (the extended-engine fallback — Ruby callbacks can't cross the runtime boundary; needs a design decision, tracked separately).