架构概览

Jaon 编译器从源代码到执行结果经历以下阶段:

.jaon 源码
   │
   ▼
Lexer(词法分析)
   │ Token 流
   ▼
Parser(语法分析)
   │ AST
   ▼
Analyzer(语义分析)
   │ 类型检查后的 AST
   ▼
Compiler(字节码编译)
   │ Bytecode
   ▼
VM(虚拟机执行)
   │ 运行结果
   ▼
输出

各阶段说明

  1. Lexer 将字符流转换为 Token 流,同时处理注释、字符串转义等。

  2. Parser 使用递归下降法构建抽象语法树(AST)。

  3. Analyzer 进行类型检查、作用域解析和类成员解析。

  4. Compiler 将 AST 编译为自定义 Bytecode,生成 CodeObject

  5. VM 作为栈式虚拟机解释执行 Bytecode。

这种设计便于独立测试和扩展:例如新增语法只需修改 Parser 和 Analyzer, 新增执行语义只需修改 Compiler 和 VM。