cml 1.0.1 copy "cml: ^1.0.1" to clipboard
cml: ^1.0.1 copied to clipboard

CML(Context Mark Language)核心语法编解码的Dart实现。 CML是语义时代的Markdown,目标是让兼具人类可读和机器可运算特征的关系结构片段, 成为可大规模计算、任意传输、分布式存储的语义中间层。

example/main.dart

/// CML 使用示例
library example;

import 'package:cml/cml.dart';

void main() {
  print('=== CML 使用示例 ===\n');

  try {
    // 示例1: 基本创建和编码
    print('1. 基本创建和编码:');
    final fragments = newCml(['万有引力', ':', '牛顿', '+', '自然哲学的数学原理', '@', '1687年']);
    print('原始数据: ${fragments.tokens}');
    print('关系符: ${fragments.relations}');
    
    final encodedP = fragments.encodeP();
    print('P模式编码: $encodedP\n');

    // 示例2: 模式转换
    print('2. 编码模式转换:');
    final encodedA = cmlToA(encodedP);
    final encodedC = cmlToC(encodedP);
    final encodedQ = cmlToQ(encodedP);
    
    print('P -> A: $encodedA');
    print('P -> C: $encodedC');
    print('P -> Q: $encodedQ\n');

    // 示例3: 解码
    print('3. 解码验证:');
    final decodedA = cmlToFragments(encodedA);
    print('A模式解码: ${decodedA.tokens}');
    
    // 验证往返一致性
    print('往返一致性: ${decodedA.tokens == fragments.tokens ? '✅ 通过' : '❌ 失败'}\n');

    // 示例4: Markdown转换
    print('4. Markdown转换:');
    final markdown = toMarkdown(encodedP);
    print('CML转Markdown: $markdown');
    
    final recovered = fromMarkdown(markdown);
    print('Markdown转CML: $recovered');
    print('Markdown往返一致性: ${recovered == fragments.tokens ? '✅ 通过' : '❌ 失败'}\n');

    // 示例5: 特殊字符处理
    print('5. 特殊字符处理:');
    final specialFragments = newCml(['test@value', '@', 'domain.com']);
    final specialEncoded = specialFragments.encodeP();
    print('包含特殊字符: ${specialFragments.tokens}');
    print('P模式编码: $specialEncoded');
    
    final specialDecoded = cmlToFragments(specialEncoded);
    print('解码结果: ${specialDecoded.tokens}');
    print('特殊字符往返一致性: ${specialDecoded.tokens == specialFragments.tokens ? '✅ 通过' : '❌ 失败'}\n');

    // 示例6: 验证功能
    print('6. CML验证功能:');
    print('合法CML验证: ${isCML(encodedP) ? '✅ 合法' : '❌ 非法'}');
    print('非法CML验证: ${isCML('invalid_cml') ? '✅ 合法' : '❌ 非法'}\n');

    print('=== 所有示例运行完成 ===');

  } catch (e) {
    print('❌ 运行出错: $e');
  }
}
0
likes
130
points
27
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

CML(Context Mark Language)核心语法编解码的Dart实现。 CML是语义时代的Markdown,目标是让兼具人类可读和机器可运算特征的关系结构片段, 成为可大规模计算、任意传输、分布式存储的语义中间层。

Homepage
Repository (GitHub)
View/report issues

Topics

#cml #semantic-markup #context-mark #markdown #semantic

License

MIT (license)

Dependencies

bs58, convert

More

Packages that depend on cml