Commit Graph
44 Commits
Author SHA1 Message Date
TermiNexus f6f8c4183c test: 新增 MultiInheritTest 多继承专项测试 + wiki 方案
4 组用例: 字段合并 C(A,B) / 菱形去重最左优先(Diamond) /
虚方法 vtable 多继承(ColoredCircle) / 运算符重载 MRO 链(Vec2Both)。
wiki/15-multiple-inheritance.md: Viper 多继承方案(M1-M6)设计文档。
2026-08-10 00:29:13 +08:00
TermiNexus 87b9dec1ef feat(core): TPC 多继承同步 M5 - MRO 查找/字段展平/vtable合并/this调整
BaseGen: 新增 class_parents + _get_mro_chain(与 TPV 语义一致: 深度优先
+声明顺序+去重) 与 _get_parent_classes 兼容旧单链
HandlesClassDef: 停用 is_base_of_any 自动 vtable; 多父字段展平去重;
方法合并用定义类名; vtable 槽沿 MRO 取定义类
HandlesExprCall: 方法调用沿 MRO 回退 + stub(无函数体)判定修复
undefined reference; 继承方法 this 调整(GEP+bitcast 成父类指针)
HandlesExprUtils/HandlesImports/HandlesWith/StructGen: MRO 查找同步
2026-08-10 00:29:05 +08:00
TermiNexus fc93a28ec6 refactor(llvmlite): P0 对象化 - IRBuilder/LLVMModule 方法化(70 方法+一行委托兼容)
- IRBuilder 新增 62 个实例方法(load/store/gep/call/binop/cast 等), 顶层函数保留为一行委托, 调用方零改动
- LLVMModule 新增 8 个实例方法(add_function/add_global/add_named_type/PrintModule 等)
- 类字段/硬编码 SIZE/逻辑/IR 输出零变化, GetDiagnostics 无错误
- 新增 wiki/14-oo-refactor.md 对象化重构方案(P0-P6)
2026-08-09 22:54:01 +08:00
TermiNexus e1cb560df0 test: 对象化前的最后稳定版本
- OopInheritTest 全部类补类体字段声明(x/y/r/w/h/health/battery 等), 保证父类字段展平与 GEP 偏移正确
- 多个测试适配 i8* 指针比较语义(== 指针地址比较改 string.strcmp)
- 删除 ZlibTest/__zlib 旧实现与 find.py 调试脚本
- 更新 TODO 与 TestProject
2026-08-09 22:19:29 +08:00
TermiNexus cd1f662e17 test: 删除 TestProject/2/3 聚合项目(已拆分覆盖); HashLibTest 并入 binascii/base64/hashlib 全套测试 2026-08-09 20:02:57 +08:00
TermiNexus 19214c269c test: ZlibTest 移除 __zlib 改用标准 zlib 库; test_pyzlib 迁移 App/ 并适配 pool 参数, 裸内存调用改 string./stdlib. 命名空间, 修复同名变量覆盖 2026-08-09 20:02:52 +08:00
TermiNexus d4abdd4042 test: 新增 ExpandKeywordsTest(fn/fun/func/function 专项); test_zlib 打印条件修复; WebTest 补 global 声明 2026-08-09 17:10:38 +08:00
TermiNexus a6444a4e1f feat(includes): 软关键字 fn/fun/func/function 与 match 语句判定; 解析 fail-fast 错误记录(get_parse_err_*) + 相邻字符串字面量隐式拼接; ord/chr 内置函数; llvmlite build_alloca_aligned; memhub 超块请求返回 NULL; numpy 显式 string./stdio. 前缀; this 数组迭代修复 2026-08-09 17:10:34 +08:00
TermiNexus dd5a639437 test: 拆分独立 OopInheritTest(OOP继承/虚方法/运算符重载/多层继承), GenericOopTest 精简为纯泛型 2026-08-09 16:59:05 +08:00
TermiNexus 6644d6ce3b test: TestProject/2/3 拆分为 10 个具体测试项目; ZlibTest 并入标准 zlib 库
新项目(各含 project.json + App/main.vp):
- LoopMathTest/LogicFlowTest/ClassArrayTest/NumpyTest (原 TestProject)
- HashLibTest (原 TestProject2 去 zlib)
- GenericOopTest/EnumTest/MpoolOopTest/VectorGenericTest/FileIoTest (原 TestProject3)
ZlibTest 增加"标准 zlib 库(zlib.pyzlib)" section 与 __zlib 并存验证。
2026-08-09 04:06:26 +08:00
TermiNexus 61f07d4f9b test: 新增 DefineTest 独立宏测试项目 + SprintfTest 多整数变参复现
- DefineTest: 从 TestProject3/definetest.vp 提取为独立项目(CDefine/c.CIf/c.CIfdef/c.CIfndef/platmacro, testcheck 分节), TestProject3 移除 definetest 引用
- SprintfTest: 增加 multi-int varargs repro R1-R4(带 check), 复现 viperlib.snprintf 第 2+ 个 int 变参读垃圾(va_arg 8 字节槽位 vs 调用点 i32 未扩展)
2026-08-09 03:39:33 +08:00
TermiNexus 939f7f2497 fix(llvmlite): ConstFloat 浮点常量文本改十六进制位模式(0x%016llx/0x%08x), 消除 llc 科学计数法解析 ±1 ulp 误差(11.0 解析为 11.000000000000002); vipermath modf 用回 c.Set(c.Deref()) 同步注释 2026-08-08 21:35:58 +08:00
TermiNexus 9ee519e998 fix(includes): 修复浮点常量精度截断与 viperlib %g 小数反转 - ConstFloat 浮点常量文本改 %.17e(全精度+LLVM合法语法, 修复 %e 6位小数截断致 llc 值错与 %.17g 裸整数报错); viperlib %g 小数位改逆序存储(原三变量交换循环在 TPV 编译产物中失效, 小数位反转 456->654); SprintfTest 增加 %g 诊断用例 T1-T10 2026-08-08 20:38:25 +08:00
TermiNexus 61e578fe9a fix(includes): atof_out 输出参数版绕开跨模块 double 返回 bug; 浮点节点构造值记录+查询(parser); NEWF/ATOF/LKP 定位插桩; ast 导出查表函数 2026-08-08 19:42:55 +08:00
TermiNexus efb4aada15 chore(includes): 添加浮点字面量解析定位插桩 - string.atof 打印长字面量解析中间值(ATOF-DBG); parser._new_const_float 打印构造值/readback/节点覆写监控(NEWF-DBG/OVW-DBG); 用于定位浮点 CDefine 值错误(llc ret i32 0) 2026-08-08 18:18:52 +08:00
TermiNexus 29b18af60c refactor(includes): vipersimd c.LLVMIR 改 LOut 模式 + 文档同步新语义
vipersimd.vp 16 处 simd_* 数学 intrinsic 改 c.LLVMIR(f"{c.LOut(out)} = call ...")
+ return out 模式;TestFBProject 2 处同步;c.py stub 与 wiki 文档
更新为"无返回值直接嵌入原始 IR 文本"语义。
2026-08-08 16:10:36 +08:00
TermiNexus 44ff0d551f fix(ast): 解析 PEP695 泛型函数类型参数 [T],修复函数体被误提升模块级
- _parse_funcdef 消费并存储 def f[T](...) 的类型参数(与 class 解析器一致)

- FunctionDef 增加 type_params 字段(默认 None,非泛型函数不受影响)

- 修复: 之前 [T] 未消费导致 _expect_op(Colon) 失败、函数体被误提升到模块级,b = Box(42) 被注册为模块级全局,函数内赋值误报需用 global 声明
2026-08-08 11:54:43 +08:00
TermiNexus 2fb386a4ff chore(core): 移除 Phase1.vp 遗留的 DBG-MC 调试输出 2026-08-07 19:57:51 +08:00
TermiNexus acc126ce0c 基本稳定 2026-08-07 19:35:20 +08:00
TermiNexus 02479420e8 将 hashlib 英化 2026-08-07 18:52:12 +08:00
TermiNexus c5570dc8b1 将 ast 英化 2026-08-07 18:49:53 +08:00
TermiNexus 752f3ddb70 修正了部分实现 2026-08-06 19:50:18 +08:00
TermiNexus 2270c3b56d 提交新的建议忽略 2026-08-06 18:07:04 +08:00
TermiNexus 2071486168 相对稳定版本 2026-08-06 18:04:12 +08:00
TermiNexus a39b5da0f8 基本稳定 2026-08-05 20:11:38 +08:00
TermiNexus 0a10b20dde 修正了逻辑,使 TPV 能够正常编译 2026-08-03 02:00:49 +08:00
TermiNexus 4e17365b76 修正了 args 传参问题 2026-07-31 17:15:54 +08:00
TermiNexus fcd4d8a438 修复了关于 snprintf 的错误(不支持长度推导) 2026-07-31 04:06:57 +08:00
TermiNexus 377b60fd67 取消了 i8* == i8* 实际使用 strcmp 的规则 2026-07-30 21:56:41 +08:00
TermiNexus cfc30d735c 将 .py 和 .pyi 后缀名改为了 .vp 和 .vpi 后缀名 2026-07-30 16:33:56 +08:00
TermiNexus f79c8ca643 Fixed 2026-07-30 13:34:26 +08:00
TermiNexus a2cc28a6ab Rewrote the comments in the libraries under 'includes' in English (excluding those inside folders) 2026-07-29 23:34:36 +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
TermiNexus ca7c2120b8 修正了种子编译器的错误 2026-07-22 21:55:36 +08:00
TermiNexus 135aa05485 尝试进行 Qt 测试,增加了 AI 人机调试工具 _console,以及 TransPyV 进行修正 2026-07-21 14:41:22 +08:00
TermiNexus a277ded8d4 修正了 TPC 的一些错误,包括 Test 维护后 TPV 无法重新编译或重编译后越界的部分问题 2026-07-20 11:12:30 +08:00
Viper ab73420b4f Add GPLv3 LICENSE; track TransPyV/ as independent repo 2026-07-19 14:46:19 +08:00
TermiNexus 1b9b81f500 初步进行了一些调整,作为 Viper 语言的一般模板使用 2026-07-19 11:49:07 +08:00
TermiNexus 0c6339ca5e 调整了上传规则 2026-07-19 11:44:01 +08:00
TermiNexus 639f418530 清理了部分垃圾 2026-07-19 11:42:41 +08:00
TermiNexus 7a8a3646db 重置上传,新增了多个标准库,开始 TransPyV 自举实验 2026-07-19 11:39:02 +08:00
TermiNexus 4e66207ba1 重置上传,新增了多个标准库,开始 TransPyV 自举实验 2026-07-19 11:38:15 +08:00
t 796222a300 snapshot before regression test 2026-07-18 19:25:40 +08:00