Skip to content

Foreign lexers (Rust bare +, TS single-quoted) and quoted-key brace claim (re-derives #13426, #13642) - #13760

Merged
gunbai-bot[bot] merged 12 commits into
mainfrom
census/foreign-lexers
Oct 12, 2026
Merged

gunbai-bot[bot] merged 12 commits into
mainfrom
census/foreign-lexers

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Supersedes #13700, reopened from an id-free branch so the lane stays reachable after merge. Re-derives gunbc#13426 (foreign lexers) and gunbc#13642 (quoted-key brace) on current main; the old heads are history only.

What changed

  • Rust bare + (src/v2/extdeps/languages/rust.dag): a rust_lex_rule row for +. Ingest grammar rows only; the fold is untouched (DESIGN 4).
  • TypeScript single-quoted strings (src/v2/extdeps/languages/typescript.dag): the rule's body reused the double-quoted char class, so every single-quoted string refused. It now consumes its own class SingleQuotedStringTextChar (src/v2/std/compilers/lexing.dag, matched in src/v2/compiler/01_tokenize.dag as not ' and not newline), so 'a"b' is one token. Escapes are a stated frontier.
  • Failure-mode rows: rust_ingest_lexer_missing_a_bare_operator_spelling, ts_single_quoted_string_body_reuses_the_double_quoted_char_class, and two related lexer rows.
  • Claims: a Rust + parse claim and a TypeScript claims that 'On' and 'a"b' are each one string_lit token.
  • Quoted-key brace (anonymous_record_test.dag): ar_a_quoted_key_is_not_a_record_field_holds asserts the resolve map-arm refusal and that body lowering accepts. The old claim asserted the wrong layer. Failure-mode row updated.
  • Generated file carried: ROADMAP.md is main_wet generator output (gunbc run --source-root dag --source-root src/v2 --entry dag/gunbc/instruments/generated_artifact_gate.dag --function main_wet) at the merged tree, not a hand edit; it still differs from main's committed copy by a 3-line reorder of the namespace XL-4 nodes. std_measure.rs is no longer in the diff (Regenerate std_measure.rs for millisecond_to_second_floor #13769 landed it on main).

Receipts (head a3304a4; claims, regen and instruments run on 0167c5b, whose source is identical; main a1b7250 merged by merge commit; drift gate exit 0 on this head)

  • Claims (claim_batch, seed built from this tree): anonymous_record_test 12/12 PASS; parse_test_rust_grammar_test 3/3 PASS; parse_test_typescript_grammar_test: both single-quote controls PASS. FAIL identically on a plain origin/main checkout (main a1b7250), not touched here: claim_ts_type_alias_task_parses_holds, claim_ts_type_alias_minimal_parses_holds, claim_ts_typed_fn_list_tasks_parses_holds.
  • claim_executor --source-root dag --source-root src/v2 --required-regen: first_generation_equal=true, planned=171, no drift, tree clean afterward. gunbc run ... generated_artifact_gate.dag --function run_generated_artifact_drift_gate exit 0 on this head.
  • srv1, under systemd-run --user --scope -p MemoryMax=22G -p MemorySwapMax=0: gunbc test //gunbc/instruments:self-host exit 0, //gunbc/instruments:v2-native-cli exit 0 (fresh clone of this head).
  • Rewrite/delete sources v2 refuses: ??, for, block operand, caret, match guard #13740's refusals (??, for, block operand, caret, match guard) are on other productions; the lexer rows here and the claims above pass on the composed tree.

Not carried over

Nothing deliberately dropped from either old PR beyond superseded wording.

🤖 Generated with Claude Code

Brian Searls and others added 5 commits October 10, 2026 18:16
…ody (re-derives #13426)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… accepts (re-derives #13642)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…d std.measure without them)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Brian Searls and others added 7 commits October 12, 2026 02:10
…admits a double quote); control for 'a"b'

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@gunbai-bot
gunbai-bot Bot merged commit a5dac32 into main Oct 12, 2026
1 check passed
@gunbai-bot
gunbai-bot Bot deleted the census/foreign-lexers branch October 12, 2026 07:56
gunbai-bot Bot pushed a commit that referenced this pull request Oct 12, 2026
#13760 deleted src/v2/test/claim/parse/rust.dag and folded its claim into the
gated parse_test_rust_grammar.dag; the deletion is accepted. The typescript.dag
header takes main's text with module citations at rule position. Three new
recurring_failure_mode rows had their test.* citations rewritten to v2.test.*
by the sweep rename map. ROADMAP.md is kept ours here and regenerated at the
final head.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.

0 participants