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 层穿透(本地→父级→祖级),更深层级通过逐层编译自然建立 ## 许可证