Files
TransPyC/TODO
T

80 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
更复杂的 泛型
复杂原始(仿Python)函数装饰器
# main 收集(和 导入模块的自动执行)
元类型
# @p.set
# 函数的描述符用装饰器而不是返回值
崩溃/返回作用域 回调
# 假鸭子
# f-string 自动 snprintf
# __doc__(后续需完善)
# 自动索引
# testcheck默认中文
vdebug 工具和 vsdt 工具
多态 ops 允许单个函数拥有装饰器(可修改,走函数指针)
协程关键字支持
with 出入多态
# 哈希表
内联快速迭代器
出栈调用函数
# 构造函数隐式参数
小数组直接栈上创建+ i in [xxx]
# 字符串索引
单函数 @t.CVTable
import 自动执行代码
限制全局 import 符号到局部(其他文件import而本文件没import,但是仍然生效不报错)
生成器表达式
await 表达式(平台无关协程支持)
# 统一 mpool 和 mbuddy 接口
MCViper after 自举
# Ptr解引用含义冲突,a[x]与ptr[x]冲突
__iter__ 期望 for a, b in __iter__
init_set 构造
不在乎编译器时间的大小优化(无关符号剔除)
给 linkedlist 库改成 node 库,或者拆分 linkedlist 库
TPV 的 typedef 名是硬编码的,后期尝试修正
TPV 再次支持泛型能力检查和字节序
不应编码class X[T搜索泛型
string的"%"格式化
TPV 避免虚类问题,参见 ast/base.vp:224行
TPV 虚类判断问题,参见 ast/parser.vp:2037行
替换式实现注入猴子,带有含函数指针检测和函数指针还原
高级 define(时间戳,版本,config项)
更多新关键字
编译期表达式计算
结构子(反射型 runtime lookup 鸭子(看起来像跑起来像,就是鸭子,愿意))
函数前后父子构造钩子
元对象协议 MOP 的编译期版本
多分派实验
Mixin 方法直接调用的合法性静态检查:MixinC2.outer2(c) 用非组合类实例直接调用,编译通过(兜底 this_adjust 前移)但运行期越界——Mixin 方法必须经组合类实例调用。日后"编译器提前报错预警"功能需在调用处验证 self 类型的组合完整性(NoVTableCrossMixinTest Test 2/3 边界)
# ========== 去除 Handles 层(计划 2026-08-21,StringTest Phase A 字段分裂已修复) ==========
# 目标:删除 lib/core/Handles/(32 文件 469 模块函数 98.9% 纯 _g_gen 委托壳),逻辑并入 Gen
# 子对象,调用点改 self.Gen.X 真源(防字段分裂),管线经 gen 对象调用,删 _g_gen 注入。
# 阶段 0: 基线——StringTest Phase A 修复已验证通过
# 阶段 1: 常量/数据类/实体类迁入 Gen(Translator/TypeRegistry/ExprHandle/ExprCallHandle/13 数据类/常量,保留 HT 别名)
# 阶段 2A: HandlesType(558)→TypeGen*/ClassGen*/StmtGenCif
# 阶段 2B: HandlesStruct(476)→StructGenMixin; HandlesExpr(417)→ExprGen*
# 阶段 2C: HandlesVar(269)→VarGenMixin; HandlesExprCall(217)+ExprCall* 6 文件(104 _g_gen 样板)→CallGen*
# 阶段 2D: HandlesClassDef(120)→ClassGen*; HandlesImports(84)→ImportsGenMixin; HandlesFunctions(40)→FuncGen*
# 阶段 2E: 小模块 Body/Enum/Nonlocal/Return/If/While/For/Match/Assign/AnnAssign/AugAssign/Main/ExprOps/Base/ForHandle* 删除
# 阶段 3: 管线入口改造(BuildPipeline/Phase1/2/StubMerger*/VpiReader/Converter ~60-70 处)+ main/BuildPipeline _g_gen 注入块删除
# 阶段 4: 删 Handles/ 目录、清 import、全量自举验证(Phase A/B/C)
# 风险: 字段分裂铁律(一律 self.Gen.宿主.字段 真源); Translator 395 处 HT 类型注解用别名; 链式调用深度
$env:TPC_ASAN="0"