一个用 Rust 编写的实验性语言项目,聚焦语法设计、类型系统与可执行生成的探索。
- Rust 风格语法:函数、结构体、枚举、泛型、trait 与 impl
- 语法与语义清晰:显式类型、基本字面量、块表达式
- 小而美的语言内核,方便扩展与实验
- Rust(stable)
- Cargo
- Rust crates(详见
Cargo.toml):pest = "2.8.5"pest_derive = "2.8.5"cranelift = "0.116.1"cranelift-module = "0.116.1"cranelift-object = "0.116.1"cranelift-native = "0.116.1"cranelift-frontend = "0.116.1"target-lexicon = "0.12"
cargo runextern "C" {
fun printf(fmt: &str, ...) -> int;
}
fun main() -> int {
let answer = 42;
printf("hello %d", answer);
return 0;
}
src/frontend— 语法与 ASTsrc/hir— 中间表示与类型推断src/codegen— 代码生成(基于 Cranelift)resources/logo.svg— 项目标识
- 完善错误提示与诊断
- 更多标准库/运行时支持
- 更丰富的表达式与模式匹配
- 测试与基准体系
欢迎 PR 与 Issue。提交前建议格式化代码并附上简要说明。
Apache-2.0