TermiNexus
|
d2d319eb21
|
fix(includes): ASan 集成支持 + 越界写封堵 + TypePrint 类型名截断 40→255
1. Phase2Translator 增加 TPC_ASAN 支持(opt asan 插桩+链接 -fsanitize=address),配合 clang64 定位 0xbe 崩溃。2. llvmlite/memhub/viperio/viperlib 多处理无界 strcpy/strcat/下溢/递归守卫/栈数组钳制。3. memhub alloc 块尾 canary(MEMBUDDY_CANARY)+check_alive_blocks 校验+chk_stack realloc 扩容。4. TypePrint Ptr(Struct) 类型名截断上限 40→255:含 sha1 前缀类型名(如 bbdf3bbd4c3bc28c.CONSOLE_SCREEN_BUFFER_INFO=42)被截断产生未定义类型引用(llc undefined type)。
|
2026-08-10 18:09:13 +08:00 |
|
TermiNexus
|
cb557c84ce
|
fix(TPC): _get_member_offset 短名规范化+跨模块懒加载+fast-fail
class_members/class_vtable/class_parent 以短名注册而调用方可能传 sha1 全名,且 class_members 未随 struct 就绪,导致查表全 miss 静默返回 None → 变量 alloca 未初始化 → 运行期读 0xffffffffffffffff 崩溃(HandlesImports.HandleImport imp.names)。修复:统一短名解析、主动懒加载 class_members、找不到字段改为 fast-fail raise 暴露 class_members/struct 真实状态。
|
2026-08-10 18:09:05 +08:00 |
|
TermiNexus
|
2129430446
|
fix(TPC): 跨模块多继承布局统一 - 字段整体前置/方法表合并/父类防重复
1. 定义模块多继承字段展平 prepend(反序) 改 append(正序),与 DeclarationGenerator stub 一致,修复 ASan 定位的 Generator 字段运行时错位(0xbe)。2. 跨模块加载 class_members 已含子类自身字段,父类字段必须整体前置(prepend),否则 Value.Next 命中 FloatVal(double) 导致 store 类型错乱。3. 跨模块补充与定义模块一致的方法合并(父类槽位前置、子类覆盖放父类位置),修复 vtable 槽错位(MemBuddy.alloc→_fl_find_and_remove)。4. 父类前置按字段名过滤已存在字段,防 _EmitExternalClassDeclLlvm 多加载路径重复调用导致 class_members 重复(BasicBlock:[Next,Next,...])。
|
2026-08-10 18:08:58 +08:00 |
|
TermiNexus
|
bb0f7049ce
|
fix(includes): MemBuddy chk_stack 满时 realloc 翻倍扩容 - 防 64K 记录栈爆满导致 reset 不回收与 _is_valid_ptr 栈校验退化
|
2026-08-10 06:24:56 +08:00 |
|
TermiNexus
|
b2fa70ae4b
|
fix(core): 方法注册去重 + 跨模块多继承 MRO 按需加载
_HandleMethodCallLlvm fallback 创建函数前复用已有声明(vpi 合并)
避免 DuplicatedNameError;新增 _EnsureClassParentsLoaded 从 .vpi
按需加载 class_parents,使跨模块多继承类(如 Generator)的 MRO
回退能定位定义类(如 TypeGenMixin),修复 bootstrap 链接 undefined
reference。
|
2026-08-10 01:46:37 +08:00 |
|
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 |
|