Files

2.0 KiB

系统架构

Aster 是可嵌入的 Endor 语言引擎,类似 V8 的职责边界;源码前端和编译器属于引擎。Lyra CLI、Hestia Server、Tessera GUI 是并列宿主。引擎自身没有常驻服务或生产部署。

文件 职责
README.md 组件边界和依赖方向
execution-and-versions.md 平台解释执行、源码修订和引擎版本
Lyra / Hestia / Tessera → 按需链接 Aster 库
Compiler → Frontend + Core
Core → Objects
Objects → Rust 标准库
Frontend → peg + serde + serde_json

Objects 拥有对象、稳定 Box、代际句柄、引用事务、私有堆和字节码数据;Core 只负责 VM、内部 EndorFrame、帧切换与求值循环。Core 不反向依赖 Frontend,也不依赖 HTTP、数据库或 GUI。Frontend 的 AST 生成产物随源码提交,普通构建不运行生成器。

宿主以子模块固定 Aster 提交,并通过 Cargo 路径依赖编译到宿主进程中。每个 Vm 拥有独立 ObjectStore。ObjectRef 不跨 VM 或进程使用;EndorFrame 是语言调用帧,不是 GUI 页面。宿主决定线程、进程、输入、显示与执行任务之间的边界。

引擎从空堆启动,Object/Type 名义类型由宿主显式引导;普通源码 class 已接入,完整元类和 trait 尚未接入。代码共享不可变对象,函数用显式帧向量执行;对象返回值拥有根引用,借用读取不自动 retain。Number 保留无损表示,数学运算语义尚未实现。现有帧数/指令数限制不构成内存配额或沙箱。

宿主文件信息和数据库适配现归 Hestia,不保存 VM 堆。原生产服务、ASTER_* 配置、数据库、卷和路径由 Hestia 保持兼容;拆仓本身不迁移或删除这些资源。Aster 不设置 CI/CD;Lyra CI 显式验证固定引擎版本及 CLI,数据库和 HTTP 检查由 Hestia CI 承担。返回 文档索引。