NAC_Blockchain/cnnl-vscode-extension
NAC Development Team 6de7fd246a Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
..
node_modules Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
out Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
src Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
syntaxes Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
README.md Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
language-configuration.json Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
package.json Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
pnpm-lock.yaml Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
tsconfig.json Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00

README.md

CNNL Language Support for Visual Studio Code

CNNL (Constitutional Neural Network Language) 语言支持插件,为NAC公链宪法语言提供完整的IDE支持。

功能特性

语法高亮

  • ✅ 关键字高亮(clause, level, predicate, obligation等)
  • ✅ 注释支持(单行//和多行/* */)
  • ✅ 字符串和数字高亮
  • ✅ 常量识别(大写标识符)
  • ✅ 函数名识别

代码编辑

  • ✅ 自动括号匹配
  • ✅ 自动缩进
  • ✅ 代码折叠
  • ✅ 注释快捷键

编译和验证

  • ✅ 一键编译CNNL文件
  • ✅ 形式化验证支持
  • ✅ 编译输出显示
  • ✅ 错误提示

安装

前置要求

  1. Visual Studio Code 1.80.0 或更高版本
  2. CNNL编译器已安装并在PATH中

安装步骤

  1. 下载.vsix文件
  2. 在VSCode中打开命令面板(Ctrl+Shift+P)
  3. 输入"Extensions: Install from VSIX..."
  4. 选择下载的.vsix文件

使用方法

编译CNNL文件

  1. 打开.cnnl文件
  2. 按Ctrl+Shift+P打开命令面板
  3. 输入"CNNL: Compile File"
  4. 查看输出面板中的编译结果

验证宪法约束

  1. 打开.cnnl文件
  2. 按Ctrl+Shift+P打开命令面板
  3. 输入"CNNL: Verify Constitutional Constraints"
  4. 查看输出面板中的验证结果

配置

在VSCode设置中可以配置以下选项:

cnnl.compilerPath

  • 类型: string
  • 默认值: "cnnl"
  • 描述: CNNL编译器可执行文件的路径

cnnl.enableVerification

  • 类型: boolean
  • 默认值: true
  • 描述: 是否启用形式化验证

语法示例

// XTZH黄金储备覆盖率底线
clause XTZH_GOLD_COVERAGE {
    level: eternal
    title: "黄金储备覆盖率底线"
    
    // 定义参数
    parameter XTZH_GOLD_COVERAGE_MIN: f64 = 1.25
    
    // 定义谓词
    predicate check_coverage(coverage: f64) -> bool {
        coverage >= XTZH_GOLD_COVERAGE_MIN
    }
    
    // 定义义务
    obligation verify_coverage {
        type: continuous
        frequency: "every block"
        enforcer: ai_enforcer
    }
}

支持的关键字

控制关键字

  • clause - 定义宪法条款
  • level - 条款层级
  • title - 条款标题
  • predicate - 谓词定义
  • parameter - 参数定义
  • obligation - 义务定义
  • depends_on - 依赖关系

层级关键字

  • eternal - 永恒层
  • strategic - 战略层
  • operational - 操作层

义务类型

  • continuous - 持续义务
  • periodic - 周期义务
  • manual - 手动义务
  • ai_enforcer - AI执行器

已知问题

  • 暂不支持代码自动补全
  • 暂不支持实时错误检查

更新日志

1.0.0 (2026-02-14)

  • ✅ 初始版本发布
  • ✅ 语法高亮支持
  • ✅ 编译命令支持
  • ✅ 验证命令支持

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

联系方式

  • 项目主页: NAC公链
  • 技术支持: NAC技术团队