# sunbit **Repository Path**: gzcloud/sunbit ## Basic Information - **Project Name**: sunbit - **Description**: AI时代的编程语言 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: zig-v2 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-02 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sunbit v2 [English](README.md) | [简体中文](README-zh.md) Sunbit 是一门面向系统级编程的原生语言,文件后缀 `.sun`。 > **设计哲学:Rust 的安全 + Zig 的简洁 + 零标注** > > 编译期所有权与借用检查,自动 provenance 追踪,无 GC、无 ARC、零运行时开销。 ## 核心特性 - **Move + Borrow 内存模型**:赋值即 move,参数自动借用,全部在编译期检查 - **零生命周期标注**:自动 provenance 追踪,无需 `'a` - **嵌入式友好**:精确整数类型(`i32`/`u16`)、`@packed`/`@extern` 布局、`heap=false` 编译目标 - **C 互操作零成本**:`extern "C"` 与 C ABI 完全兼容 - **无宏系统**:可变参数函数、f-string、`@` 注解、`comptime` 完整覆盖宏的使用场景 - **AI 原生(规划中)**:内建 `Tensor` 类型与 GPU 加速 ## 抢先一瞥 ```sunbit fn main() { println("Hello, Sunbit!") } ``` ```sunbit @Derive(Copy) struct Point { x: float, y: float, } fn main() { const p1 = Point { x: 1.0, y: 2.0 } const p2 = p1 // Copy 语义,p1 仍然有效 println(p1.x) // 1 println(p2.y) // 2 } ``` 更多示例见 [`examples/`](examples/),覆盖所有权、借用、trait、泛型、 集合、错误处理、闭包、运算符重载等场景。 ## 项目结构(Zig v2 重写) ``` src/ main.zig CLI 入口 root.zig 顶层胶水模块 ast/ AST 定义 ir/ 共享 IR 数据类型 lexer/ 词法分析器 parser/ 递归下降解析器 printer/ AST 打印器 hir/ mir/ 高层与中层 IR sema/ 语义分析 lowering/ AST → HIR → MIR 降级 codegen/ 基于 LLVM-C 的代码生成 driver/ 编译驱动(build / run / test / emit) std/ 用 Sunbit (.sun) 编写的标准库 docs/ 语法规范与设计文档 examples/ 示例程序 packages/ 配套工具(如 sunview) ``` ## 构建与测试 编译器本身用 Zig 编写,依赖 LLVM(Homebrew 路径 `/opt/homebrew/opt/llvm`, 动态链接 `LLVM-22`)。装好两者后: ```bash zig build # 构建编译器 zig build test # 运行 Zig 测试套件 ./zig-out/bin/sunbit version # 版本信息 ./zig-out/bin/sunbit parse examples/01_hello.sun # 打印 AST ./zig-out/bin/sunbit run examples/01_hello.sun # 编译并运行 ``` CLI 子命令: | 命令 | 说明 | | ------------------ | ----------------------------------------------- | | `build ` | 编译为原生可执行文件(`-o output`、`--release`)| | `run ` | 编译并立即执行(`--release`) | | `parse ` | 解析并打印 AST | | `lex ` | 仅做词法分析 | | `test ` | 运行测试,支持 `@expect-error` 负向测试 | | `emit-hir ` | 输出指定文件的 HIR | | `emit-mir ` | 输出指定文件的 MIR | | `version` | 打印版本信息 | 不带文件执行 `sunbit build` 时,会在含 `sunbit.toml` 的项目中 回退到 `src/main.sun`。 ## 开发路线 - [x] Phase 1 — Lexer + Parser + AST + Printer + CLI - [x] Phase 2 — 语义分析 + LLVM 纯 AOT 代码生成 - [x] Phase 3 — 所有权 + 借用检查 + Provenance - [x] Phase 4 — Trait + 泛型 + 运算符重载 - [ ] Phase 5 — 并发(`task` / `Chan` / `select`) - [ ] Phase 6 — `Tensor` / GPU ## 延伸阅读 - 语法规范:[`docs/sunbit-v2-syntax.md`](docs/sunbit-v2-syntax.md) - 编译管线:[`docs/pipeline.md`](docs/pipeline.md) - 架构评审:[`docs/architecture-review.md`](docs/architecture-review.md) - 标准库说明:[`std/README.md`](std/README.md)