From deab8948643d7d7e05acbf64f3ee71538a5d1ff8 Mon Sep 17 00:00:00 2001 From: 0264408 Date: Fri, 26 Jun 2026 10:49:41 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E4=BF=AE=E6=AD=A3README=E4=B8=ADupvalue?= =?UTF-8?q?=E6=8D=95=E8=8E=B7=E5=B1=82=E6=95=B0=E9=99=90=E5=88=B6=E7=9A=84?= =?UTF-8?q?=E8=A1=A8=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实际机制是增量逐层建立,通过enclosing_locals合并链 理论上不限深度;仅一次性链创建受限于3层穿透 Co-Authored-By: Claude --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1600fb0..70c1944 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ let t = os.clock(); // 模块化调用 - **基于栈的字节码 VM** — AST 先编译为字节码再执行,单一执行路径,无语义漂移 - **错误容忍解析** — 词法分析器和解析器均将错误收集到 `Vec` 中,单次运行可报告多个诊断信息,而非在第一个错误处就中止 - **`Rc>` 共享所有权** — 用于 `Value::Object`、`Value::Array` 和 `UpvalueObj`,提供动态可变语义。闭包通过 upvalue 机制捕获外层局部变量 -- **词法作用域闭包** — 编译时解析 upvalue 捕获,支持最多 3 层传递式捕获(本地 → 父级 → 祖级) +- **词法作用域闭包** — 编译时解析 upvalue 捕获,通过增量链路支持任意深度嵌套;`resolve_upvalue` 中显式处理 3 层穿透(本地→父级→祖级),更深层级通过逐层编译自然建立 ## 许可证