lib/ww + wcc + w6c + wwdump: strip *arena cascade (γ-6)
amalloc has 0 callers post-γ-2; the *arena threaded through
newnode/newscope/newtype/prim/typesinit/type{ptr,slice,array,chan,
named}/lexinit/parserinit/joindotted/checkinit/arenau64tos/cgeninit
and the scope.a / tctx.a / lex.a / parser.a / checker.a / cgen.a
fields are vestigial.
Drop `import mem;` from 15 files, remove six struct fields, strip
*arena from 14 signatures, update ~120 call sites across lib/ww +
wcc + w6c + wwdump. selfhost/test/sym_link.ww fixture drops the
newarena/freearena probe; still exits 42 on scopedefine/scopelookup.
Both main.combined.ww auto-regenerated.
Comments retidied: typ.ww "once per arena" → "once per program";
parse.ww drops "arena-build" qualifier on joindotted; sym.ww drops
mem-sibling-imports rationale.
Verified 132/132 incl. 994_w6c_ww + 995_self_rebuild byte-identity
(the primary symmetric-stages gate).
This commit is contained in:
@@ -17,7 +17,6 @@ package lex;
|
||||
// callers `import lex;` (which dir-enums lib/ww/lex/).
|
||||
import os;
|
||||
import ascii;
|
||||
import mem;
|
||||
import strings;
|
||||
|
||||
// isidstart / isidpart — identifier classification. Lexer-local
|
||||
@@ -55,18 +54,16 @@ type lex = struct {
|
||||
lpos: u64,
|
||||
line: i32,
|
||||
col: i32,
|
||||
a: *arena,
|
||||
errs: i32,
|
||||
};
|
||||
|
||||
export fn lexinit(l: *lex, a: *arena, file: str, src: *u8, len: u64) void = {
|
||||
export fn lexinit(l: *lex, file: str, src: *u8, len: u64) void = {
|
||||
l.file = file;
|
||||
l.src = src;
|
||||
l.srclen = len;
|
||||
l.lpos = 0u64;
|
||||
l.line = 1;
|
||||
l.col = 1;
|
||||
l.a = a;
|
||||
l.errs = 0;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user