Expand description
Onion 语言编译主流程模块。
本模块负责将 Onion 源代码从 Token 流、AST、IR 直至最终字节码的完整编译流程。 包含诊断收集、循环依赖检测、编译时求值、语义分析、IR 生成与字节码翻译等核心步骤。
§编译流程概述
- 词法分析:源码 → Token 流
- 语法分析:Token 流 → AST
- 编译时求值:处理 @ 表达式、宏、依赖等
- 自动捕获与语义分析:变量作用域、类型检查
- IR 生成:AST → 中间表示(IR)
- 字节码生成:IR → 虚拟机指令
§主要函数
build_code
:主编译入口,生成 IRPackagecompile_to_bytecode
:IRPackage → 虚拟机字节码
§诊断与错误处理
- 所有阶段均支持详细的错误收集与报告
- 支持 IO 错误、借用错误、语法/语义/编译时错误等
Enums§
- Compile
Diagnostic - 编译阶段诊断信息。
Functions§
- build_
code - 主编译入口:从源码生成中间表示(IRPackage)。
- compile_
to_ bytecode - IRPackage 编译为虚拟机字节码。