大多数编程语言只是别人的工具。JHYY 是工具链的每一层——从 lexer 到 codegen, 从汇编到 ABI——都从零写起,然后让这门语言自己重新实现自己,直到 byte-equal 闭环。 这不是演示项目:它能编译、链接、跑通,也能跑自己。
静态类型 + 表达式导向 + 一等公民的函数。结构体、枚举、模式匹配、切片、命名空间、C FFI、模块系统——都有,但没有 GC,没有运行时垃圾。
i8/i16/i32/i64,u*/f*/bool,指针 *T,定长数组 [T; N],切片 [*]T,struct / enum 全套。
if 是表达式、match 是表达式、块也是值。while / for i in start..end / break / continue 全员。
字面量 / 范围 / 枚举 / 通配符全支持,带穷尽性检查。0 | 1..10 => ... 区间 or-pattern 写法。
extern fn printf(...) 直接调 C。多文件链接、结构体按值传参、命名空间 mod::fn() 一气呵成。
import + 传递性导入,多文件 CLI 编译,mod::fn() 命名空间访问。运行时 Arena 分配器也可经 FFI 调。
无 GC、无垃圾回收、无运行时反射。直接 QBE → as → ld → 原生 .exe。想跑哪跑哪。
同一个 `.jhyy` 源文件,既能由 C-side 编译器编译,也能由 jhyy-side 编译器编译。 两条路径产出的 QBE 中间表示 byte-equal—— 这就是 Stage 2 N=4 自举闭环的事实基础。
单一版本轴 — 没有 phase-N。每个版本的发布都意味着前一阶段的工作已经被 byte-equal 闭环吞掉。
| 轴 | 范围 | 目标 | 状态 |
|---|---|---|---|
| v0.x | C 编译器自身 | 达成自举门槛 | 🟢 frozen at v1.0.0 baseline |
| v1.x | jhyy 自举 (src0/*.jhyy) | 真自举闭环, byte-equal .il | 🟢 v1.8.3 shipped — FINAL |
| v2.0 | QBE 重写 + 多目标 / freestanding | amd64_sysv / EFI .efi | ✅ v2.0 阶段 ship (v2.0.0 → v2.4.0, 2026-09-04) |
| v2.x 中/末 | QBE 自写 / amd64_sysv 实 impl / N 代 fixed point | 丢掉 vendored QBE | ⏳ 未启动 |
| v3.x | 语言扩展 (asm / volatile / naked / no_std / &mut + lifetime) | 服务 jhyy_OS | ▶ next — 3a-3f 等 user 启动 |
函数、变量、控制流、struct、match、enum、FFI——全部一气呵成。
// 类型 / 函数 / 控制流 / struct / match / enum / FFI type Point = struct { x: i32, y: i32 } fn dist_sq(a: Point, b: Point) -> i32 { let dx = a.x - b.x; let dy = b.y - a.y; dx * dx + dy * dy } fn classify(n: i32) -> *u8 { match n { 0 => "zero", 1..10 => "single digit", 10 | 20 => "round number", _ => "other", } } extern fn printf(fmt: *u8, val: i32) -> i32; fn main_jhyy() -> i32 { let p = Point { x: 3, y: 4 }; let q = Point { x: 0, y: 0 }; printf("d² = %d\n", dist_sq(p, q)); printf("%s\n", classify(42)); 0 }
v0.x 冻结,v1.x 已 ship,v2.0 阶段已 ship。下一步是 v3.x 的语言扩展,服务于自研 OS。 v2.x 中/末(QBE 自写 / amd64_sysv / N 代 fixed point)与 v3.x 异步并行。
达成自举门槛。
byte-equal `.il` 闭环。
5 个版本串行 ship。
服务 jhyy_OS。
去掉 vendored QBE。
UEFI + PE/COFF boot。
编译器 0 C 依赖、OS 自举、调试 ABI 完整——从语法到 ABI 到运行时, 每一层都是自己写的。这就是机会翼游。