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
|
53ae1b7864
|
略微清理了 viperlib,受限于 Vipeye 缺陷暂缓
|
2026-09-29 16:59:09 +08:00 |
|
TermiNexus
|
093ff5f66d
|
fix(viperlib): 浮点格式化的 inf/nan 保护失效导致 %g 死循环
根因: _check_special_float 的位双关 (把 double 位模式读成 uint64) 被 TPC 前端静默丢弃——IR 里 fbits 恒为 0 (store i64 0 后直接 load,没有把 fv 写进 fbits),函数恒返回 0,于是 %f/%e/%g/%a 的 inf/nan 保护全部失效。
后果: inf 落入 %g 的指数归一化循环 while fv>=10.0 (inf/10==inf 恒真) → 死循环,实测卡死在 vsnprintf:974(Ctrl+C 栈转储权威帧 #0)。
修复: _check_special_float 改为纯浮点语义判定 (fv!=fv 判 NaN;fv-fv!=fv-fv 判 +-inf);另给 4 处对 inf 不收敛的循环各加迭代上界 400 (正常最多约 308 次) 作纵深防御。
注: 位双关语句被静默丢弃属 TPC 前端缺陷,需另立项;va_arg(ap, double) 经生成 IR 核对是正确的 (va_arg 内建读 XMM 保存区且 gp/fp 各自推进),非本次原因。
|
2026-09-25 13:15:04 +08:00 |
|
TermiNexus
|
0f556463e7
|
修正了部分代码的表达方式,最后可用版本,mlirlite 已基本完善
|
2026-09-23 17:42:03 +08:00 |
|
TermiNexus
|
785e825518
|
清理了 t.CVoid
|
2026-09-16 16:07:35 +08:00 |
|
TermiNexus
|
9a758a8f6c
|
fix(includes): atof 改为正确舍入,对齐 sprintf 返回类型,补充 asm 约束说明
N4 string.vp:atof 重写为「u64 尾数 + 精确十进制幂 + 双 double(Dekker) 缩放」,
正规数范围正确舍入(Python 原型 20 万组对拍 bit-exact),次正规回退逐步
缩放;修十进制浮点字面量偏差(DBL_MAX 原 −6 ULP、e/ln2 各 ±1 ULP)
N13 viperlib.vp:export sprintf 返回 t.CVoid → t.CInt 并 return vsnprintf(...),
与 CRT 及 includes/stdio.vp 的 extern declare 对齐(消除同符号签名冲突)
N10 asm.vp:为 pushall/popall/cpu_switch_context 补充约束说明(不改 clobber)
|
2026-09-11 17:40:26 +08:00 |
|
TermiNexus
|
2992674783
|
feat(types): rowptr/REnum 迁移工作区快照 + GSList/PrintModule 临时 DBGCHAIN 护栏
把此前未提交的 rowptr 迁移整体入库(42 文件,含 ast/llvmlite/hashlib/json/zlib 等签名 rowptr 化)。临时诊断(用后移除):linkedlist.vp GSList[T].append 链完整性四检、__module.vp PrintModule Function.Params/param 指针野值护栏([DBGCHAIN] 前缀 + fflush + exit)。
|
2026-09-05 14:51:40 +08:00 |
|
TermiNexus
|
14ff9d109f
|
从 TransPyC 主项目中分离 VRTE
|
2026-08-17 11:01:35 +08:00 |
|