Commit Graph
9 Commits
Author SHA1 Message Date
TermiNexus 14ba84db8e chore(syntax): R1 typedef 右值改用 T*(21 处)
编译器已支持 typedef 右值类型位(305242aa),故解除 R1 的 typedef 右值例外:stdint.vp 19 处(INTPTR/BYTEPTR/CHARPTR/WCHARPTR/*PTR 等)、stdarg.vp 1 处(va_list)改为 T*,AST 与 T | t.CPtr 逐字段同形。
2026-10-05 20:58:38 +08:00
TermiNexus af59a752cd chore(syntax): R16 完整 C 式 const/volatile 迁移
把剩余 t.CConst | X 全部改写为前缀描述符 const X(AST 逐字段同形):

- t.CConst | VOIDPTR -> const VOIDPTR(win32console/win32file/win32memory 共 7 处);

- char | t.CConst* -> const str(winsock2 x2);t.CConst | BYTEPTR -> const BYTEPTR(zinflate);

- typedef 右值:LPCSTR = const str、LPCWSTR = const uint16*(stdint/win32base);

- parser.vp:typedef 右值按类型位解析(_IsCTypedefAnnotation),typedef X = T 语法糖同一条。
2026-10-05 20:36:35 +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 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 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 0f556463e7 修正了部分代码的表达方式,最后可用版本,mlirlite 已基本完善 2026-09-23 17:42:03 +08:00
TermiNexus 785e825518 清理了 t.CVoid 2026-09-16 16:07:35 +08:00
TermiNexus f53c2216aa '基线重置,修复了一些 bug,fix(llvmlite): build_alloca_at_entry 在已终止入口块后在 br 后追加 alloca 致非法 IR嵌套循环(如 LoopTest.test_nested_loop 内层 for)内联新建循环变量 alloca 时,入口块已以 br 终止,block_append_text 把 alloca 追加到终止指令之后,生成不可达指令,llc 报 "instruction expected to be numbered %N or greater"。改用 block_insert_text_before_terminator:未终止等同追加,已终止插到终止指令之前;编号乱序由 RenumberSSA 重排处理。' 2026-09-07 15:05:50 +08:00
TermiNexus 14ff9d109f 从 TransPyC 主项目中分离 VRTE 2026-08-17 11:01:35 +08:00