fix:改进语法分析器支持顶层语句
This commit is contained in:
parent
87284c50d4
commit
1c9cfc3b4c
@ -70,10 +70,9 @@ Parser采用**递归下降**和**运算符优先解析**相结合的方法:顶
|
|||||||
## 需要你完成的
|
## 需要你完成的
|
||||||
1. 解压然后读取项目里面全部相关代码,然后解决下面的问题
|
1. 解压然后读取项目里面全部相关代码,然后解决下面的问题
|
||||||
2. **错误收集**不完善,目前遇到语义错误就记录并在最后可能退出,但对于不同模块或函数的多个错误能否一次收集输出没有详述。改进为**非终止检查**,在尽可能继续分析后面的代码前提下收集所有错误。
|
2. **错误收集**不完善,目前遇到语义错误就记录并在最后可能退出,但对于不同模块或函数的多个错误能否一次收集输出没有详述。改进为**非终止检查**,在尽可能继续分析后面的代码前提下收集所有错误。
|
||||||
3. **模块导入解析**还不完整,Import只验证模块是否存在于当前编译单元内的ModuleRegistry;需要支持跨文件模块,需要扩展编译器能够根据import加载其它源文件或已编译中间文件
|
3**作用域管理**仅支持函数级,缺少块级作用域支持(如在if/loop内部声明的变量不单独成域);需要更细粒度的SymbolTable嵌套和Analyzer处理需实现。
|
||||||
4. **作用域管理**仅支持函数级,缺少块级作用域支持(如在if/loop内部声明的变量不单独成域);需要更细粒度的SymbolTable嵌套和Analyzer处理需实现。
|
4**类型系统**如上所述比较原始,没有检查表达式的类型正确性(例如算术运算混用int和string等),引入类型推断或强制类型检查,使语言更加健壮。
|
||||||
5. **类型系统**如上所述比较原始,没有检查表达式的类型正确性(例如算术运算混用int和string),未来可引入类型推断或强制类型检查,使语言更加健壮。
|
5帮我解决以上问题,确保修改后和后面模块兼容,画布给我修改后的代码和新增的代码
|
||||||
6. 帮我解决以上问题,确保修改后和后面模块兼容,给我修改后的代码和新增的代码
|
|
||||||
|
|
||||||
|
|
||||||
## 中间代码(IR)生成
|
## 中间代码(IR)生成
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user