Commit Graph
16 Commits
Author SHA1 Message Date
TermiNexus ab0f37e1a8 更新,可自举 2026-08-27 09:48:20 +08:00
TermiNexus a12dcafed2 fix(tpv): 泛型类型参数 SHA1 规范化 + 自举链接修复
- 类型参数统一 "{定义模块SHA1}.{Class}"(ast.AST/AST → f467978339422f32.AST),
  消除跨模块特化名分裂导致的 undefined symbol(list[AST|t.CPtr].set 根因)
- TypeGenResolve 新增 _norm_type_arg_name/_is_sha1_prefixed/_concat_sha1_class;
  resolve_annotation_type 兼容 "{16hex}.Class" Attribute 形态(跳过
  imported_modules 检查,优先完整名命中定义侧 struct)
- CallGenCtor._extract_type_args_from_slice / extract_class_name_from_annotation
  新增 from_imports 参数,8 处调用方传 trans._from_imports 保持注册/查找一致
- 修复模块级函数链式调用推断(get_perm_pool() 联合返回 → .alloc() 裸名 alloc)
- 跨模块方法 declare self 改为类指针 %"sha1.Class"*,调用侧按形参 coerce bitcast
- 撤销泛型特化双 SHA1 前缀,恢复单前缀(模板 SHA1)
- 新增 --phase2command xxx.bat:不执行 llc/链接,命令写入 bat
2026-08-23 12:00:04 +08:00
TermiNexus 748eda9c69 修正 Stub 的 define 导入 2026-08-22 10:36:05 +08:00
TermiNexus 9d3483e97e refactor: 全面 fail-fast 化(去兜底)+ 泛型补译/解引用宽度修复
- 全量降级点改 fail-fast:23 文件约 140+ 处静默 i32/i8*/void/continue 兜底改为 HandlesType.fatal_error(python traceback 风格)或 VLogger.error 终止,暴露上游根因;保留语言语义默认(无注解 i32/infer 链/CIf/star 回退)
- 泛型特化 Phase B 补译 reemit 强制发射方法体(修复 list[...] define 缺失)
- c.Deref 读取宽度仅按赋值直接 RHS 推断(修复 CurAssignAnnot 残留误判 i32)
- 类型别名清理:t.CChar|t.CPtr→str、t.CInt→int 等
2026-08-13 02:11:49 +08:00
TermiNexus 1c7e8c2056 fix(build): ASan includes 缓存独立目录隔离
- Config: get_includes_binary_dir 支持可配置后缀(_inc_bin_suffix)
- main: --asan 用 .binary_asan 独立缓存并清理,非 asan 复位 .binary
- 修复 asan 插桩 obj 与非 asan obj 混链 → __asan_init undefined reference
2026-08-12 19:12:52 +08:00
TermiNexus a649e4807d fix: 泛型返回类型短路/数组迭代/非工作区崩溃
- CallGenMixin: 本模块 mangled 调用从当前 IR 取返回类型, 不查自己的 text.ll(未生成误告警)
- HandlesFor: Ptr([N x T]) 数组退化指针 load 后走数组迭代
- Config: 配置字段默认 None/0, 避免垃圾指针通过 is not None 检查
- main: 无 project 配置且无 --src 时 fail-fast 退出(非工作区崩溃)
2026-08-11 23:14:27 +08:00
TermiNexus 60493d6ae5 fix(compiler): 支持多 includes 目录,修复 G4 g4node 未注册 SHA1
- Config.vp 解析 includes 数组全部元素为空格分隔 IncludesDirs(首元素仍存 IncludesDir 兼容单目录)

- IncludesScanner 逐目录递归扫描合并,FileEntry.IncDir 记录所属 includes 根目录

- StubMerger 存储新增 IncDir 并行数组(MAX_INC_DIR_LEN=512),容量 256→1024

- Phase2 预注册/3.5 按需编译改用逐条目 IncDir 拼接源路径(空串回退 includes_dir)

- HandlesImports import 未注册错误显示行内内容 + App 兄弟模块文件豁免

- 新增 TransPyV 自身 project.vpj
2026-08-08 10:31:44 +08:00
TermiNexus 96e045889e refactor: 提取 is_vp_or_py_at/JoinPath/read_file_to_buf 公共工具,消除 IncludesScanner/Phase2 重复代码 2026-08-08 00:02:39 +08:00
TermiNexus 989e898a93 refactor: 提取公共 bytes_to_hex/nibble_to_hex_char,消除三处重复的 SHA1 hex 转换 2026-08-07 23:29:39 +08:00
TermiNexus f8436c74d2 提交新的建议忽略 2026-08-06 18:08:09 +08:00
TermiNexus d227bee139 将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名 2026-07-30 16:34:50 +08:00
TermiNexus 68481a5a7f Fixed some bugs and tried to maintain the bootstrap 2026-07-28 21:10:05 +08:00
TermiNexus 03d0bba534 修正了一些错误 2026-07-26 20:33:17 +08:00
TermiNexus 909792bc8f 实现了切片存储 2026-07-22 21:56:33 +08:00
TermiNexus 92a381f003 修复了 TPV 的一些错误,包括闭包等 2026-07-22 14:05:38 +08:00
Viper e7eaf3e9a1 Initial import of TransPyV 2026-07-19 13:18:46 +08:00