Function build_code

Source
pub fn build_code(
    collector: &mut DiagnosticCollector,
    source: &Source,
) -> Result<IRPackage, ()>
Expand description

主编译入口:从源码生成中间表示(IRPackage)。

§步骤说明

  1. 词法分析并过滤注释
  2. 语法分析生成 AST
  3. 检查导入循环(CycleDetector)
  4. 编译时求值(ComptimeSolver)
  5. 自动变量捕获与语义分析
  6. 生成 IR 并追加主返回指令
  7. 构建最终 IRPackage

§错误处理

  • 词法/语法/语义/编译时错误均通过 DiagnosticCollector 收集
  • IO 错误、借用错误通过 CompileDiagnostic 上报

§参数

  • collector:诊断信息收集器
  • source:源码对象

§返回

  • Ok(IRPackage):编译成功
  • Err(()):编译失败,错误已收集