NAC_Blockchain/cnnl-vscode-extension/README.md

142 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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