简介
cpro 是一门以拼音编程为主、同时支持中文和英文编程的 C 系列编译型语言。它基于 LLVM 生成机器码,产出不依赖虚拟机和垃圾回收的原生可执行文件,目前支持 Windows(x86_64)和 Linux。
测试阶段
cpro 目前处于测试阶段,语法和标准库仍可能调整。遇到问题欢迎反馈。
设计取向
cpro 的设计围绕一句话:代码做了什么,读一遍就该知道。
- 显式类型:二元运算符写明运算类型,
a +[i32] b;没有隐式类型提升,i32和i64不能直接相加。 - 显式意图:
var b = a永远是复制;要借用写&a,要转移所有权写move a,要提前释放写destroy a。 - 显式错误:会失败的函数在签名上标
fails,调用方必须处理,错误不会悄悄丢掉。 - 显式危险:调用 C 函数、取地址这类操作必须放在
unsafe块里,审计时搜索unsafe就能看到全部危险点。
拼音为主,三种写法
cpro 以拼音编程为主:每个关键字、内建函数、标准库函数都有拼音写法,同时也支持中文和英文,三者完全等价,可以在同一个项目里混用。
| 拼音 | 中文 | 英文 |
|---|---|---|
hs | 函数 | fn |
bl | 变量 | var |
ruguo / fouze | 如果 / 否则 | if / else |
fanhui | 返回 | return |
dayin | 打印 | print |
完整对照见 关键字。
一个小例子
cpro
struct Point {
x type i64,
y type i64,
}
fn manhattan(p Point) i64 {
return p.x +[i64] p.y
}
rukou() {
var p type Point = { x: 3, y: 4 }
print("距离:", manhattan(p))
}rukou() 是程序入口,相当于其他语言的 main。
