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)生成