上下文标记语言CML(Context Mark Language)的核心语法编解码的Dart实现。
import 'package:cml/cml.dart';
void main() {
// 创建CML双序列
final fragments = newCml([
'万有引力', ':', '牛顿', '+', '自然哲学的数学原理', '@', '1687年'
]);
print(fragments.tokens); // ['万有引力', '牛顿', '自然哲学的数学原理', '1687年']
print(fragments.relations); // [':', '+', '@']
// 编码为P模式
final pEncoded = fragments.encodeP();
print(pEncoded); // p万有引力:牛顿+自然哲学的数学原理@1687年
// 解码
final decoded = cmlToFragments(pEncoded);
print(decoded.tokens); // ['万有引力', '牛顿', '自然哲学的数学原理', '1687年']
print(decoded.relations); // [':', '+', '@']
}CML 不是:
- ❌ JSON / YAML 的替代品
- ❌ 图数据库
- ❌ 自然语言
- ❌ LLM Prompt 语法糖
✅CML是语义时代的Markdown。它的目标是让兼具人类可读和机器可运算特征的关系结构片段,成为可大规模计算、任意传输、分布式存储的语义中间层。
- 4种编码模式:A(双层Base58)、C(双层Base64URL)、P(单层明文混编)、Q(双层混编)
- 完整的编解码转换
- Markdown格式转换
- 100%测试覆盖率
- 支持null safety
本项目采用MIT宽松授权。本项目是对 Context Mark Language (CML)核心规范的标准实现。
原始语言文档:doc-war.com/CML
原始协议仓库链接:https://github.com/ContextMark/CML