Commit Graph
8 Commits
Author SHA1 Message Date
TermiNexus 451e7a0391 fix(ast/parser): extern 无 body 形式消费本行 NewLine,修复 Phase1a-pre 7 文件扫描失败
extern def A(...) -> T(无 ': pass')解析完返回时 cur 停在 NewLine token,
模块级/类体语句循环只 _skip_nl(Nl)不跳 NewLine,下一轮把 NewLine 当
表达式解析(_parse_atom error_count++)→ parse_tokens 返回 None →
Phase1a-pre 报 7 个文件扫描失败(w32 7 个 extern 文件全挂的根因)。
2026-08-17 11:57:01 +08:00
TermiNexus a641c7c8da test(w32): 204 个 t.State 声明函数改用 extern 语法
- win32base/console/file/memory/process/sync/winsock2 七个模块
- def X(...) -> T | t.State: pass → extern def X(...) -> T: pass
- 转换后 vast AST dump 与原声明完全一致(extern 改写 returns 为
  <原类型> | t.State,语义等价),用于 extern 关键字编译测试
2026-08-17 10:49:39 +08:00
TermiNexus 396e0a54be fix(SysLibTest): CDefine 大整数全链路 64 位化 + Win32 结构体 ULONG→DWORD
- maxsize=9223372036854775807 曾全链路 32 位截断成 4294967295:
  StubGen/Converter 与 register_cdefine_constant 改 %lld、lookup 改
  atoll、extract_cdefine_int_value/_lookup_cross_module_cdefine 改
  CInt64T,新增 _const_int_for_cdefine(超 0xFFFFFFFF 才升 i64,
  0xFFFFFFFF 保持 i32 -1 语义)
- subprocess stdout 为空根因 STARTUPINFOA/PROCESS_INFORMATION/
  MEMORY_BASIC_INFORMATION ULONG 字段(i64 占 8 字节)布局错位致
  CreateProcess 读不到 STARTF_USESTDHANDLES,改 DWORD 对齐 Windows 布局
- 移除 syslibtest_impl.vp 调试 DBG 标记
2026-08-15 13:11:25 +08:00
TermiNexus a39b5da0f8 基本稳定 2026-08-05 20:11:38 +08:00
TermiNexus cfc30d735c 将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名 2026-07-30 16:33:56 +08:00
TermiNexus 3633be1995 Some simple information syncing 2026-07-28 21:08:58 +08:00
TermiNexus 1837339f69 修正了一些错误 2026-07-26 20:32:26 +08:00
t 796222a300 snapshot before regression test 2026-07-18 19:25:40 +08:00