TermiNexus
|
7f82bec5d1
|
chore: 全仓同步 TPV→VPC 注释改名与 range(int(...)) 显式收窄适配
|
2026-10-12 20:59:35 +08:00 |
|
TermiNexus
|
705de51459
|
fix(includes): 消除隐式窄化(string.strlen → int)
规则收紧后,6 处 string.strlen()(sizet/64 位)隐式落进 int 会报隐式窄化:argparse.vp:204/332、ast/parser.vp:3202/3203/3255/3256 改为显式 int(...);另 gzip.vp:62 的 read_all 容量去掉多余 ULONG(...)(形参已是 sizet)。
|
2026-10-10 22:09:59 +08:00 |
|
TermiNexus
|
770e389360
|
fix(argparse): 字符串参数的 NULL 默认值不再写入
NULL 默认值写进结果会让键存在但值为 NULL:has() 误报参数已给出,函数末尾的 required 检查对字符串参数永远不触发。改为 default_str 为 None 时跳过写入。
|
2026-10-08 20:35:17 +08:00 |
|
TermiNexus
|
e25e8958f0
|
WIP 快照:includes 现有改动(含 M2.4 new 描述符的语法支持)
语法侧(M2.4):ast/base.vp 枚举尾部追加 ASTKind.New;ast/exprs.vp 新增 NEW_SRC_*/NEW_LIFE_* 与 class New;ast/parser.vp 新增 _is_new_expr/_parse_new_expr(new 为软关键字,不进 Keyword 表,new=1/new.x/new(1) 仍是标识符);ast/__init__.vp 再导出 New 与常量。
其余为既有 WIP 改动一并快照,保持基线一致(39 文件,+312/-237)。
未纳入:ctraits.vpi(已删除)、ctraits.vpnci、tomllib/(均未跟踪)。
|
2026-10-08 17:45:31 +08:00 |
|
TermiNexus
|
0055ab7ea7
|
refactor: rawptr[T] -> T* 与 t.CConst 前缀迁移(R14/R16)
R14:rawptr[X] -> X*(41 文件 / 2037 行改动),X 含模块限定名与嵌套下标(rawptr[GSList[NameEntry]] -> GSList[NameEntry]*)。保留 6 处 rawptr[t.CPtr](规范例外:存纯裸指针);# 注释与字符串里的 rawptr[...] 属元语法描述,未动。 R16(保守子集):t.CConst | str/bytes -> const str/bytes,t.CConst | char | t.CPtr -> const str;typedef 右值位置豁免(const str 在该处无法注册,与 R1 同源)。 验证:TPC 自举三重重编 SUCCESS;TransPyV.exe 全量 77/77 顺序回归通过。
|
2026-10-05 17:38:21 +08:00 |
|
TermiNexus
|
e71daeea0e
|
docs(includes): R11 注释英文化——75 个文件的中文注释改写为英文短注释
按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 includes 下 75 个 .vp 的中文 # 注释与三引号 docstring 改写为英文,每个注释块压到 2 行以内。
保留要点:作用、约束、危险警告(不得/必须/注意)、ABI 与类型约定(如 BYTEPTR | t.CPtr = i8** 的跨模块坍缩坑)、位宽/长度约定、fail-fast 要求、内存与句柄所有权。
未动:文件头注释(规范豁免,仍是中文)、运行时中文字符串常量(printf / fatal_error / MlirFail 等用户可见消息,属代码字面量)。
验证:独立脚本比对 HEAD 与工作区的代码骨架(剥离 # 注释与三引号 docstring 后的非空行)——75 个文件逐字节一致;行尾 CRLF/LF 未被改动;全文剩余中文仅 547 行头注释、0 条行尾注释。bootstrap 三重重编 SUCCESS;全量 77/77 顺序回归通过。
|
2026-10-05 16:18:44 +08:00 |
|
TermiNexus
|
27121f56a7
|
refactor(includes): R12 下标 while 循环改 for range,R13 c.Set 迁移为赋值
R12(wiki/新规范 L27-39):把「i: int = 0 与 while i < N: … i += 1」形式的下标循环改写为「for i in range(N):」。保守判定:仅当条件为裸 NAME < EXPR、循环体无 continue、NAME 在体内无其它赋值、无嵌套重绑定、循环后同层不再引用 NAME 时才改写。共 269 处 / 48 文件。
R13:c.Set 是正在退化的路径——c.Set(*p, v) 期望写作 *p = v,c.Set(a, b) 等于 a = b。本次把 includes 内 45 处 c.Set 全部迁移为赋值,includes 已无 c.Set 调用。
验证:bootstrap 三重重编 SUCCESS(无 vast_c 解析回退);全量 77/77 顺序回归通过;ZlibTest 内部断言 79 passed / 0 failed。
|
2026-10-05 15:33:52 +08:00 |
|
TermiNexus
|
e80284a6d5
|
refactor: 全量迁移 includes 到新规范语法
按根目录 新规范 迁移 R1/R2/R3/R4/R6/R7/R8/R9:指针 T* 后缀、内建类型短别名、c.Addr/c.Deref 单目化、c.Asm 改 __asm__、t.CDefine 改 define 软关键字、t.CEnum 改 enum。R4 对内建 cast 多参实参保留 c.Deref 原写法(单目化会致 TPC 类型退化)。验证:includes 52/52 编译通过,TransPyV 自举产物顺序回归 77/77 全通过。
|
2026-10-05 09:04:46 +08:00 |
|
TermiNexus
|
2af230bdd1
|
fix(argparse): argv 取值改用直接下标 argv[idx],避开 TPC 赋值路径对 i8** 右值的自动解引用
原写法 `entry = str*(uint64(argv) + idx * 8)` 的右值是 i8**,TPC 的 HandlesAssign 赋值路径
会对"指针的指针"右值再 load 一次 → entry 变成 argv[idx] 本身,entry[0] 又去读字符串头 8 字节
→ 野指针(ASan: access-violation 0xffffffffffffffff @ ArgumentParser.parse_args)。
改为 argv[idx] 后右值是 i8*(1 级),不触发该路径;顺带去掉了 uint64 往返。
|
2026-10-01 18:29:53 +08:00 |
|
TermiNexus
|
14221b9414
|
refactor(includes): 适配新指针口径与语法,rawptr[T] → T* / t.CPtr → rawptr
- json/__init__.vp、math.vp:rawptr[T] 改为 T*
- ast/base.vp、ast/stmts.vp:@t.CVTable 改为 virtual class
- argparse.vp:t.CPtr(...) 改为 str*(...)
- stdarg.vp:arg(type: t.CType) 改为 t.CPtr
- stdint.vp:FSIZE_t/LBA_t 换成 LPCSTR
- memhub.vp:import 整理、去掉 t.CDefine 前缀、t.CPtr 改 rawptr、格式对齐
- ast/parser.vp、math.vp、linkedlist.vp:对齐与格式清理
|
2026-10-01 18:05:05 +08:00 |
|
TermiNexus
|
db3be6968f
|
fix(memhub,gzip): 内存池 OOM 归属画像与 free 拒绝现场;gzip 注解 *= 词法粘连
memhub: alloc 失败打印归属 site/ctx 与存活块 order 分布(新增 dump_alive_orders);free 被 _is_valid_ptr 拒绝时首次打印现场;接通 big_alloc_count
gzip: ub: uchar*= buf 补空格(*= 被词法合并为单 OP,注解止于 uchar)
新增 traceback 模块;删除 dbgstack.vp;其余模块随新语法与尺寸口径同步
|
2026-09-26 19:27:24 +08:00 |
|
TermiNexus
|
0f556463e7
|
修正了部分代码的表达方式,最后可用版本,mlirlite 已基本完善
|
2026-09-23 17:42:03 +08:00 |
|
TermiNexus
|
0d77b68cc4
|
修复了一些错误
|
2026-09-18 20:01:14 +08:00 |
|
TermiNexus
|
785e825518
|
清理了 t.CVoid
|
2026-09-16 16:07:35 +08:00 |
|
TermiNexus
|
14ff9d109f
|
从 TransPyC 主项目中分离 VRTE
|
2026-08-17 11:01:35 +08:00 |
|