| 字段 | 内容 |
|---|---|
| 文档编号 | ECRMR-001 |
| 文档标题 | Cavvy 自举计划 (Cavvy Bootstrap Roadmap) |
| 版本 | 1.1.0 |
| 日期 | 2026-07-01 |
| 作者 | Ethernos Studio / Cavvy Lang Team |
| 状态 | 已评审 (Reviewed) |
| 密级 | 公开 (Public) |
本文档定义了 Cavvy 编程语言从当前外部实现(Rust基线)向完全自举(Self-Hosting)演进的完整路线图。计划通过 Cavvy N 系列(用 Cavvy 语言自身编写的编译器)逐步实现语言功能的自我构建,最终通过 CavvyNX 完成自举验证,并发布 Cavvy 10 作为首个完全自举的稳定版本。
| 术语 | 定义 |
|---|---|
| Cavvy N x | 用 Cavvy 语言编写的编译器,目标实现对应本地版本的功能集(N 即Native)。例如 CavvyN4.8 对应原 0.4.8 功能集。 |
| CavvyNX | 终极自举编译器(N 系列最终版,X 代表交叉/完成)。能够完整编译 Cavvy 8.3 LTS 代码库并通过全部测试套件。 |
| 本地版本 | 当前基于 Rust 实现的 Cavvy 编译器及工具链。 |
| 自举 (Bootstrap) | 编译器使用其目标语言(Cavvy)重新实现自身,并能成功编译自己的源代码。 |
| EOL | End of Life,指旧版本停止维护。 |
自举过程采用渐进式替代策略:本地版本每推进一个主版本,Cavvy N 系列同步实现对应功能集,最终由 CavvyNX 接管全部编译工作。
| 阶段 | 本地版本 | 自举目标 | 里程碑说明 |
|---|---|---|---|
| 启动 | Cavvy 5.1 | CavvyN0 → EOL 0.1.0 | 启动自举项目,建立 Cavvy 编写编译器的基础架构,宣告 0.1.0 历史版本生命周期结束。 |
| 功能追赶-1 | Cavvy 6.0 | CavvyN3.5 | N 系列实现至 3.5 功能集,覆盖核心语法与基础标准库。 |
| 功能追赶-2 | Cavvy 7.0 | CavvyN4.8 | 直接实现至 4.8 功能集(对应原 0.4.8),跳过早期中间版本的逐步迭代,加速自举进程。 |
| 深度构建 | Cavvy 8.0 | CavvyN6.0 | 在 Cavvy 8 开发中途,本地版本暂停功能扩展,优先保障 N 系列实现 6.0 功能集。 |
| LTS 基线 | Cavvy 8.2 | CavvyN7.0 | 继续推进 N 系列功能同步。 |
| LTS 完成 | Cavvy 8.3 LTS | CavvyN8.0 + CavvyNX | 本地版本进入长期支持(LTS)。N 系列完成 8.0 功能集,同时CavvyNX 启动完整自举验证。 |
| 发布 | — | Cavvy 10 | 当CavvyNX 成功通过 Cavvy 8.3 LTS 的全部测试套件时,CavvyNX 正式更名为 Cavvy 10 发布。 |
本地版本线: 5.1 ──→ 6.0 ──→ 7.0 ──→ 8.0 ──→ 8.2 ──→ 8.3 LTS
↓ ↓ ↓ ↓ ↓ ↓
自举版本线: N0 N3.5 N4.8 N6.0 N7.0 N8.0 + NX
│ │ │
└──────── 功能追赶 ──────────────┘ │
▼
通过 8.3 LTS 测试
│
▼
发布 Cavvy 10
关键设计决策:
Cavvy 10 的发布需满足以下全部条件:
| 风险 | 影响 | 缓解策略 |
|---|---|---|
| N 系列功能滞后 | 本地版本与自举版本差距过大,导致维护两套实现成本激增 | 8.0 阶段主动暂停本地版本功能开发,集中资源追赶 N 系列 |
| 自举编译器 Bug 传染 | 早期 CavvyN 的缺陷可能导致后续版本连锁错误 | 建立严格的阶段门控(Stage-Gate),每阶段必须通过本地版本交叉验证 |
| 测试套件不完备 | 8.3 LTS 测试未能覆盖边缘情况,导致 Cavvy 10 隐藏缺陷 | 在 8.3 LTS 周期内持续扩充测试用例,确保语义全覆盖 |
| 构建性能不足 | 自举编译器速度过慢,影响开发者体验 | 引入增量编译与缓存机制,允许 N 系列编译器在本地版本上运行性能分析 |
26.x.x)。| 文档 | 链接/编号 | 状态 |
|---|---|---|
| Cavvy 语言规范 | caydocs.ethernos.net | 占位符,待 ECSIPR 发布后更新 |
| ESSO-10400 | Ethernos 软件安全基础框架 | 已生效 |
| Cavvy 8.3 LTS 测试规范 | 内部文档 | 待 LTS 冻结时发布 |
注:Cavvy 语言规范当前以 caydocs.ethernos.net 为临时参考源。待 ECSIPR(Ethernos Cavvy Standardization & Implementation Proposal Registry)正式建立后,将迁移至规范化的标准文档体系。
| 项目 | 状态 |
|---|---|
| CavvyN0 基线 | ✅ 已完成 |
| 实现范围 | EOL v0.1.0 |
| 功能覆盖 | 词法分析器、递归下降语法分析器、基础 AST 生成 |
| 构建方式 | 使用本地版本 Cavvy 5.1.0-alpha.2 编译通过 |
| 验证标准 | 成功编译 “Hello, CavvyN” 级测试程序并生成可执行文件 |
| 里程碑意义 | 标志着 Cavvy 语言已具备用自身描述自身编译器的能力,自举工程正式启动 |
后续工作:CavvyN0 作为原型验证,其架构将为 CavvyN3.5 的重构提供参考。N0 代码库不进入长期维护,仅作历史归档。
审批记录
| 版本 | 日期 | 审批人 | 备注 |
|---|---|---|---|
| 1.0.0 | 2026-07-01 | — | 初始版本 |
| 1.1.0 | 2026-07-01 | dhjs0000 | 评审修订:加入附录 C(CavvyN0 完成状态)、更新附录 B 语言规范占位符 |
本文档由 Ethernos Studio 维护,遵循 Ethernos 标准化文档规范。如有变更,将通过 ECPLSO 流程发布修订版本。