Module compile

Source
Expand description

Onion 语言编译主流程模块。

本模块负责将 Onion 源代码从 Token 流、AST、IR 直至最终字节码的完整编译流程。 包含诊断收集、循环依赖检测、编译时求值、语义分析、IR 生成与字节码翻译等核心步骤。

§编译流程概述

  1. 词法分析:源码 → Token 流
  2. 语法分析:Token 流 → AST
  3. 编译时求值:处理 @ 表达式、宏、依赖等
  4. 自动捕获与语义分析:变量作用域、类型检查
  5. IR 生成:AST → 中间表示(IR)
  6. 字节码生成:IR → 虚拟机指令

§主要函数

  • build_code:主编译入口,生成 IRPackage
  • compile_to_bytecode:IRPackage → 虚拟机字节码

§诊断与错误处理

  • 所有阶段均支持详细的错误收集与报告
  • 支持 IO 错误、借用错误、语法/语义/编译时错误等

Enums§

CompileDiagnostic
编译阶段诊断信息。

Functions§

build_code
主编译入口:从源码生成中间表示(IRPackage)。
compile_to_bytecode
IRPackage 编译为虚拟机字节码。