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技术团队