2.8 KiB
2.8 KiB
CNNL Language Support for Visual Studio Code
CNNL (Constitutional Neural Network Language) 语言支持插件,为NAC公链宪法语言提供完整的IDE支持。
功能特性
语法高亮
- ✅ 关键字高亮(clause, level, predicate, obligation等)
- ✅ 注释支持(单行//和多行/* */)
- ✅ 字符串和数字高亮
- ✅ 常量识别(大写标识符)
- ✅ 函数名识别
代码编辑
- ✅ 自动括号匹配
- ✅ 自动缩进
- ✅ 代码折叠
- ✅ 注释快捷键
编译和验证
- ✅ 一键编译CNNL文件
- ✅ 形式化验证支持
- ✅ 编译输出显示
- ✅ 错误提示
安装
前置要求
- Visual Studio Code 1.80.0 或更高版本
- CNNL编译器已安装并在PATH中
安装步骤
- 下载
.vsix文件 - 在VSCode中打开命令面板(Ctrl+Shift+P)
- 输入"Extensions: Install from VSIX..."
- 选择下载的
.vsix文件
使用方法
编译CNNL文件
- 打开
.cnnl文件 - 按
Ctrl+Shift+P打开命令面板 - 输入"CNNL: Compile File"
- 查看输出面板中的编译结果
验证宪法约束
- 打开
.cnnl文件 - 按
Ctrl+Shift+P打开命令面板 - 输入"CNNL: Verify Constitutional Constraints"
- 查看输出面板中的验证结果
配置
在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技术团队