From 1c9cfc3b4ccfdef157f4119c6877885d8323ca50 Mon Sep 17 00:00:00 2001 From: Luke Date: Fri, 16 May 2025 16:31:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=94=B9=E8=BF=9B=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E5=88=86=E6=9E=90=E5=99=A8=E6=94=AF=E6=8C=81=E9=A1=B6=E5=B1=82?= =?UTF-8?q?=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/Snow语言文档.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/Snow语言文档.md b/doc/Snow语言文档.md index 7ba67cd..c03e328 100644 --- a/doc/Snow语言文档.md +++ b/doc/Snow语言文档.md @@ -70,10 +70,9 @@ Parser采用**递归下降**和**运算符优先解析**相结合的方法:顶 ## 需要你完成的 1. 解压然后读取项目里面全部相关代码,然后解决下面的问题 2. **错误收集**不完善,目前遇到语义错误就记录并在最后可能退出,但对于不同模块或函数的多个错误能否一次收集输出没有详述。改进为**非终止检查**,在尽可能继续分析后面的代码前提下收集所有错误。 -3. **模块导入解析**还不完整,Import只验证模块是否存在于当前编译单元内的ModuleRegistry;需要支持跨文件模块,需要扩展编译器能够根据import加载其它源文件或已编译中间文件 -4. **作用域管理**仅支持函数级,缺少块级作用域支持(如在if/loop内部声明的变量不单独成域);需要更细粒度的SymbolTable嵌套和Analyzer处理需实现。 -5. **类型系统**如上所述比较原始,没有检查表达式的类型正确性(例如算术运算混用int和string),未来可引入类型推断或强制类型检查,使语言更加健壮。 -6. 帮我解决以上问题,确保修改后和后面模块兼容,给我修改后的代码和新增的代码 +3**作用域管理**仅支持函数级,缺少块级作用域支持(如在if/loop内部声明的变量不单独成域);需要更细粒度的SymbolTable嵌套和Analyzer处理需实现。 +4**类型系统**如上所述比较原始,没有检查表达式的类型正确性(例如算术运算混用int和string等),引入类型推断或强制类型检查,使语言更加健壮。 +5帮我解决以上问题,确保修改后和后面模块兼容,画布给我修改后的代码和新增的代码 ## 中间代码(IR)生成