Function build_code
Source pub fn build_code(
collector: &mut DiagnosticCollector,
source: &Source,
) -> Result<IRPackage, ()>
Expand description
主编译入口:从源码生成中间表示(IRPackage)。
§步骤说明
- 词法分析并过滤注释
- 语法分析生成 AST
- 检查导入循环(CycleDetector)
- 编译时求值(ComptimeSolver)
- 自动变量捕获与语义分析
- 生成 IR 并追加主返回指令
- 构建最终 IRPackage
§错误处理
- 词法/语法/语义/编译时错误均通过 DiagnosticCollector 收集
- IO 错误、借用错误通过 CompileDiagnostic 上报
collector
:诊断信息收集器
source
:源码对象
Ok(IRPackage)
:编译成功
Err(())
:编译失败,错误已收集