TermiNexus
|
45e78ad107
|
基线重置,修复了一些 bug
|
2026-09-07 14:46:02 +08:00 |
|
TermiNexus
|
2b5286ea11
|
fix(ast): parse_expression 返回注解改为 Expression | t.CPtr
- parse_expression 实际返回 Expression 包装节点(body 字段为实际表达式),
原注解 AST | t.CPtr 类型不精确——调用方需强转才能访问 body
- 源头修正返回类型,调用方直接 expr_node.body 即可
|
2026-08-29 07:26:06 +08:00 |
|
TermiNexus
|
90a74e4e2c
|
fix(tpv): 支持 PEP 701 同引号嵌套 f-string 并记录解析错误位置
- lexer.vp: _read_string 增加 f-string {} 深度跟踪,跳过表达式块内嵌套字符串字面量(含 {{/}} 转义、跨行报错)
- parser.vp: _parse_fstring 表达式扫描同步跳过块内嵌套字符串,三条 error_count 路径补 _record_parse_err(消除'第 0 行 0 列'不可读错误)
|
2026-08-28 12:50:38 +08:00 |
|
TermiNexus
|
bc017d0a61
|
feat(tpc): 解析错误记录具体 token 位置(消除'第 0 行 0 列'不可读错误)
|
2026-08-28 12:25:38 +08:00 |
|
TermiNexus
|
60dbdfe8d2
|
fix(tpc): 方法调用虚分派——变量与模块短名同名时不误入模块函数路径(base.kind 折叠根因)
|
2026-08-28 10:23:26 +08:00 |
|
TermiNexus
|
63bc435723
|
feat(tpc): 注解支持 C 风格指针后缀 T*(int* → int | t.CPtr 多级展开)
|
2026-08-28 08:01:03 +08:00 |
|
TermiNexus
|
0230385891
|
feat(tpc): 新增单目 * / & 运算符(Deref/AddrOf)AST 节点与 LLVM 翻译
|
2026-08-28 07:34:58 +08:00 |
|
TermiNexus
|
c3a43dfe76
|
refactor(includes): 标准库 extern 软关键字语法迁移 + _append_cstr O(1) 追加缓存
- posix/stdio 等 19 文件: def ... -> T|t.State: pass 改写为 extern def ... -> T
- llvmlite/__builder.vp: _append_cstr 加写入位置缓存(_g_last_dst/_g_last_pos,缓冲切换/重置自动回退 strlen,防 O(n^2))
|
2026-08-24 23:31:12 +08:00 |
|
TermiNexus
|
f2cdbdc70f
|
fix(exprlen): 剥离 sha1 前缀修复 len() 分派失效
class_members/class_member_element_class 的 key 为裸类名,而 _CurrentCpythonObjectClass 可能带 sha1 前缀导致 gate miss 落到 strlen(stdint.vp 0xC0000005 根因)。同时按字段静态类型沿 MRO 分派 list.__len__,并移除排查期诊断 printf。
|
2026-08-20 10:28:29 +08:00 |
|
TermiNexus
|
e83c06041a
|
fix(ast): 解析器支持括号内行首运算符跨行续接
and/or 与 binop/比较链循环此前在检查运算符前不跳 Nl:
A and B 换行后再 and C(ThreadingTest check 多行 and 链)停在 Nl 上
循环退出,上层把续行运算符当非法 token 报 SyntaxError。每轮循环先
_skip_nl 再查运算符(对齐 vast 实现),支持 (a\n + b)、(a < b\n < c)
等行首运算符续行。
|
2026-08-19 06:52:20 +08:00 |
|
TermiNexus
|
915054495f
|
fix(ast): 补齐 exprs 字段访问辅助函数 re-export
5cda173 只补了 attribute_get_attr,TypeGen 还以 ast.<helper> 调用
attribute_get_value/name_get_id/constant_get_str_val/binop_get_left/
binop_get_right(均定义在 ast.exprs)→ 同样触发跨模块返回类型解析
fail-fast。一次性全部补入 from .exprs import 导出列表。
|
2026-08-19 05:26:26 +08:00 |
|
TermiNexus
|
5cda173a5e
|
fix(ast): re-export attribute_get_attr 修复跨模块返回类型解析失败
TPV TypeGenCType/TypeGenResolve 以 ast.attribute_get_attr(at) 调用,但 ast
包 from .exprs import (...) 未 re-export 该函数(定义在 ast.exprs)→ 跨模块
函数返回类型解析在 ast 包 text.ll 找不到定义 → fail-fast "返回类型无法
精确获取"。按既有 re-export 惯例(如 get_parse_err_line)补入导出列表。
|
2026-08-19 05:18:41 +08:00 |
|
TermiNexus
|
a2378e6878
|
chore(ast): Attribute.__init__ 加构造断点,定位 stdint.vp attr 垃圾来源
|
2026-08-18 09:25:36 +08:00 |
|
TermiNexus
|
802377e9ab
|
feat(ast): 加 Name/Attribute/Constant/BinOp 字段访问器,绕开跨模块 stub 字段访问陷阱
|
2026-08-18 08:59:10 +08:00 |
|
TermiNexus
|
5d93692baa
|
feat(vast/ast): 新增 export 软关键字声明 CExport 函数(等价 t.CExport)
允许 4 种语法(配不配 def 都一样):export def A(...) / export A(...),
与 extern 对称。返回注解改写为 <原类型> | t.CExport,复用既有 CExport
路径(符号名裸名、不加模块 SHA1 头);无 body 形式消费本行 NewLine。
TPC 侧 vast:_ParseExportDef + Unparser 还原(Export=True);
TPV 侧 includes/ast:Keyword.Export + FLAG_IS_EXPORT=16(追加末尾)+
_is_funcdef_kw/_parse_funcdef 支持。
|
2026-08-17 12:12:32 +08:00 |
|
TermiNexus
|
451e7a0391
|
fix(ast/parser): extern 无 body 形式消费本行 NewLine,修复 Phase1a-pre 7 文件扫描失败
extern def A(...) -> T(无 ': pass')解析完返回时 cur 停在 NewLine token,
模块级/类体语句循环只 _skip_nl(Nl)不跳 NewLine,下一轮把 NewLine 当
表达式解析(_parse_atom error_count++)→ parse_tokens 返回 None →
Phase1a-pre 报 7 个文件扫描失败(w32 7 个 extern 文件全挂的根因)。
|
2026-08-17 11:57:01 +08:00 |
|
TermiNexus
|
ce568e10b7
|
feat(vast/ast): 新增 extern 软关键字声明 FFI 函数(等价 t.State)
TPC 侧 vast:
- extern [def] A(...) [-> T] [: pass] 四种语法解析为 FunctionDef
- 返回注解改写为 <原类型> | t.State,复用 TPC 的 IsState 外部函数路径
- 设 Extern 标记,Unparser 还原 extern 语法(round-trip 一致)
TPV 侧 includes/ast(自举前端):
- Keyword.Extern 枚举与 intern,_is_funcdef_kw 软判定
(extern def / extern Name+'( 或 '[')
- _parse_funcdef 支持无冒号声明、FLAG_IS_EXTERN 标记、
returns 改写为 <原类型> | t.State(vpi 含 State → 定义端裸名 + 不生成函数体)
|
2026-08-17 10:41:44 +08:00 |
|
TermiNexus
|
a7bbd68507
|
fix(parser/lexer): 支持括号内行首 or/and、类基类跨行、CRLF 反斜杠续行(追加69/70/71)
|
2026-08-16 11:19:16 +08:00 |
|
TermiNexus
|
0e93f40289
|
fix(includes): 导出 llvmlite 缺失符号 + 移除临时 DBG
- llvmlite.__init__ 导出 get_struct_fields/get_struct_fcount/DeepCopyType(HandlesAssign tuple 解包与 ClassGenMixin 深拷贝调用 fast-fail 符号未定义)
- 移除 string.vp [ATOF-DBG]、ast/parser.vp [LKP-DBG] 临时插桩(保留查表逻辑)
|
2026-08-12 21:13:36 +08:00 |
|
TermiNexus
|
b4567ffb9a
|
fix(llvmlite): opaque与空结构体区分(fcount哨兵);ast表达式节点调整
|
2026-08-12 01:27:24 +08:00 |
|
TermiNexus
|
2120a0a4ab
|
feat(ast): 结构化 Stmt/Expr 中间基类(isinstance 分类支持)
- base.vp 新增 Stmt/Expr(CVTable,继承 AST),__init__.vp 导出
- stmts.vp 23 个语句类继承 Stmt,exprs.vp 27 个表达式类继承 Expr
- 顶层/辅助/模式/OpNode 保持 AST 直继承(非 Stmt 非 Expr)
|
2026-08-10 21:48:41 +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
|
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
|
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
|
c5570dc8b1
|
将 ast 英化
|
2026-08-07 18:49:53 +08:00 |
|
TermiNexus
|
2071486168
|
相对稳定版本
|
2026-08-06 18:04:12 +08:00 |
|
TermiNexus
|
a39b5da0f8
|
基本稳定
|
2026-08-05 20:11:38 +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 |
|
t
|
796222a300
|
snapshot before regression test
|
2026-07-18 19:25:40 +08:00 |
|