Kairote Programming Language
BY KairoteStudio
KairoteLang 是一个由 Kairote Studio 开发的现代系统级编程语言,专为追求极致性能与优雅语法的开发者而生。
我们的愿景:打造一款兼具 C++ 性能(但目前仅在部分领域上赶超)、C# 优雅、Rust 安全(当前阶段尚未实现)的编程语言,让系统编程变得简单而强大。
| 特性 | 描述 |
|---|---|
| 极致性能 | 自研编译器 toolchain,零成本抽象,编译速度极快 |
| 优雅语法 | 基于 C# 语法扩展,学习曲线平缓,表达能力强大 |
| 自研工具链 | 独立实现的前端、SSA 形式的 IR 及多目标后端代码生成 |
| 现代架构 | 模块化设计,支持增量编译和并行构建 |
| 类型安全 | 静态类型系统,编译期捕获错误 |
// KairoteLang 代码示例
Namespace HelloWorld;
using System;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, KairoteLang!");
}
}
- 操作系统: Linux | Windows | macOS
- Zig: 0.17.0+ (作为 C 编译器和构建系统)
- C 标准库: 需要
libm和libpthread
# 克隆仓库
git clone https://github.com/KairoteStudio/Kairote_Lang.git
cd Kairote_Lang# 构建 Re.KrtC 编译器(使用 zig)
cd Re.KrtC
zig build编译器依赖
libarklink。如果../ArkLink/build/libarklink.a不存在,需先构建 ArkLink:cd ../ArkLink && cmake -S . -B build && cmake --build build
编写你的第一个 KairoteLang 程序 或 学习文档
创建 hello.krt 文件:
using System
Namespace Hello;
public class Program
{
public static void Main()
{
Console.WriteLine("Hello, KairoteLang!");
}
}
编译并运行:
KrtC build hello.krt
./hello┌─────────────────────────────────────────────────────────────┐
│ KairoteLang Toolchain │
├─────────────┬─────────────┬─────────────────────────────────┤
│ Re.KrtC │ ArkLink │ Runtime │
│ 编译器 │ 链接器 │ 运行时 │
├─────────────┼─────────────┼─────────────────────────────────┤
│ 词法分析 │ COFF/ELF │ 内存管理 │
│ 语法分析 │ PE后端 │ 标准库 │
│ 语义分析 │ 符号解析 │ 异常处理 │
│ SSA IR │ 重定位 │ │
│ 代码生成 │ 库文件 │ │
└─────────────┴─────────────┴─────────────────────────────────┘
Kairote_Lang/
├── Re.KrtC/ # 编译器核心 (KrtC → Re.KrtC)
│ ├── src/
│ │ ├── Core/ # 基础库(内存、平台、工具)
│ │ ├── compiler/ # 编译器前端、中端、后端
│ │ ├── Bytecode/ # 字节码定义
│ │ └── Tools/ # 开发工具
│ ├── Shared/ # 共享代码生成器
│ ├── stub_include/ # 存根头文件
│ └── build.zig # Zig 构建脚本
├── ArkLink/ # 链接器
│ ├── src/ # 核心链接逻辑与后端
│ └── include/ # 头文件
├── libs/ # 标准库 (.krt)
└── docs/ # 文档
- 前端: 递归下降语法分析器,支持完整的 C# 语法子集
- 中端: SSA 形式的中间表示,支持多种优化 passes
- 后端: 多目标代码生成(x86, x64, ARM)
- 支持 COFF、ELF、PE 格式
- 增量链接支持
- 符号版本控制
- 死代码消除
- 基础编译器框架
- 链接器实现
- SSA IR 中端
- x86 / Kro 后端
- 标准库完善
- 包管理器
- IDE 插件
- JIT 编译支持
- 跨平台优化
我们欢迎所有形式的贡献!无论是提交 Bug 报告、功能建议,还是代码贡献。
- Fork 本仓库
- 创建你的 Feature Branch (
git checkout -b feature/Feature) - Commit 你的更改 (
git commit -m 'Add some Feature') - Push 到分支 (
git push origin feature/Feature) - 打开一个 Pull Request
- 使用清晰的提交信息描述变更
- 确保代码通过现有测试
- 新增功能请附带测试用例
- 遵循现有代码风格
本项目采用 MPL 2.0 License 开源。
- None
| 渠道 | 链接 |
|---|---|
| 邮箱 | ?@?.? |
| QQ 群 | 791809691 |
| GitHub | https://github.com/KairoteStudio_Lang |
- LLVM - SSA 设计理念
- C# Language Specification - 语法基础
- GCC - 代码生成参考
- Rust - 类型系统灵感
感谢所有为这个项目做出贡献的开发者!