# 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` - 描述: 是否启用形式化验证 ## 语法示例 ```cnnl // 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技术团队