1.9 KiB
1.9 KiB
Cargo 工作区
包名与目录一致,路径依赖定义在根 Cargo.toml。
| 目录 | 包名/产物 | 职责 |
|---|---|---|
| core | core,库 endor_core | VM、执行帧与字节码求值循环,仅依赖本地 objects |
| objects | objects | 零依赖的核心对象、对象存储、代码对象与指令数据/静态验证 |
| frontend | frontend | Endor 阅读器、手写 lexer、token PEG parser、基础函数/表达式 AST,不执行源码 |
| host | host | UTF-8 JSON 文件基础信息,与数据库分离 |
| storage | storage | 为数据库特殊类保留的显式连接适配,不提供基础信息存储 |
| cli | cli,二进制 cli | 引导演示、源码解析与文件信息命令,不使用数据库 |
| server | server,二进制 server | HTTP 宿主与文件版本信息,不使用数据库 |
CLI 依赖 Core、Frontend 与 Host,Server 依赖 Core 与 Host,二者不依赖 Storage;Frontend 依赖 peg,不依赖 Core;Core 只依赖本地 Objects;Objects 不依赖 Core 或第三方包,二者均不依赖 Storage。未来特殊类的宿主实现按需依赖 Storage,见 数据库对象。
Endor 的解释执行流程与平台资源版本方向见 执行与版本模型。Frontend 到 AST 与 Core 执行字节码目前仍是两段独立能力,后续需要连接内部字节码生成;版本锁、平台资源后端和持久化字节码缓存均未实现。
core 的 Rust 库名为 endor_core,避免与标准库 core 重名,见 Cargo 目标说明。网络、数据库、进程配置和信号不进入 Core。全局说明见 架构,返回 项目入口。