CP 语言是一款支持原生中文语法的编程语言。 所有关键字、标准库函数都有完整的中文别名,可以使用纯中文编写程序。
# 编译(需要 Visual Studio 2022)
build_msvc.bat
# 字节码 VM 执行(开发模式,毫秒级响应)
cplang -c 图书管理.cp
# JIT 加速执行(热点检测)
cplang -c --hotspot 图书管理.cp
# 全量 JIT 编译
cplang -j 图书管理.cp
# AOT 编译为独立 .exe(部署模式)
cplang -a -o 图书管理.exe 图书管理.cp
# 交互式 REPL
cplang -r// 你好,世界!
打印("你好,世界!");
// 变量和计算
变量 半径 = 10;
变量 面积 = 圆周率() * 半径 * 半径;
打印("面积: " + 转字符串(面积));
// 条件和循环
变量 i = 0;
当 (i < 10) {
如果 (i % 2 == 0) {
打印(转字符串(i) + " 是偶数");
}
i = i + 1;
}
// 函数
函数 斐波那契(n) {
如果 (n <= 1) { 返回 n; }
返回 斐那契(n - 1) + 斐那契(n - 2);
}
打印(斐那契(10));源码(.cp)
│
▼
──Compiler(共享前端)──
Lexer → Parser → Semantic → AST
│
├──→ DevEngine ───────────── 开发/学习
│ ├ 字节码 VM(解释执行)
│ ├ + JIT 热点检测(自动加速)
│ └ + 全量 JIT(预热加速)
│
└──→ AOTEngine ───────────── 部署/发布
LLVM IR → .obj → .exe
运行时零依赖
| 模式 | 命令 | 启动速度 | 执行速度 | 适用场景 |
|---|---|---|---|---|
| 字节码 VM | -c |
< 0.1s | 基准 | 开发、调试、脚本 |
| 热点 JIT | -c --hotspot |
< 0.1s | 热点函数 95x | 长时间运行任务 |
| 全量 JIT | -j |
< 0.1s + 预热 | 95x 加速 | 计算密集型 |
| AOT | -a -o app.exe |
3-6s 编译 | 原生速度 | 发布部署 |
- ✅ 纯中文语法 — 关键字、函数名、变量名均支持中文
- ✅ 中文标准库 — 800+ 函数,775+ 中文别名
- ✅ 双引擎架构 — DevEngine(VM+JIT)+ AOTEngine
- ✅ 渐进类型系统 — 动态起步 + 类型标注获 JIT 加速
- ✅ NaN-Boxing — 64位紧凑值表示,零堆分配
- ✅ 垃圾回收 (GC) — 三色标记-清除,自动管理内存
- ✅ 中文错误信息 — 编译器错误、运行时异常均为中文
- ✅ 图形支持 — Raylib + ImGui 中文绑定
- ✅ 网络支持 — TCP/HTTP/WebSocket
- ✅ 数据库支持 — SQLite/MySQL/Redis
- ✅ 并发编程 — 线程/互斥/条件/信号量/Future/Channel/RWLock
- ✅ 通用支持 — 函数泛型 + 结构体泛型 + 异常处理
📖 完整 API 文档请查看 docs/STDLIB_API.md
- 容器 — 数组/表/栈/队列/链表/集合/映射等 26 个模块
- 字符串 — 正则/Base64/编码/SHA256/UUID/CSV
- 并发 — 10 模块 39 函数
- 加密 — AES/随机数/压缩
- 数据库 — SQLite/MySQL/Redis
- 图形 — Raylib + ImGui
- 网络 — HTTP/TCP/UDP/DNS/WebSocket
- Windows 10+
- Visual Studio 2022 (MSVC v143)
- 可选: LLVM 18+ (启用 JIT)
src/ 编译器源码
lexer/ 词法分析器
parser/ 语法分析器(已拆分:核心/声明/语句/表达式)
semantic/ 语义分析器
codegen/ 代码生成器(字节码 + LLVM IR)
vm/ 虚拟机(字节码执行 + GC)
jit/ JIT 编译器(ORC JIT 桥接 + 分派)
optimizer/ 优化器(常量折叠/死代码消除/内联/循环展开/尾递归)
stdlib/ 标准库(~60 个 C++ 实现文件)
module/ 模块系统
repl/ 交互式 REPL
cpkg/ 包管理器
aot/ AOT 编译
include/ 头文件目录
examples/ 示例程序
tests/ 测试用例
docs/ 文档
CP 语言是一个独立开发的开源项目。如果它对你有帮助,欢迎请开发者喝杯咖啡 ☕
MIT
