2026-08-21 16:57:25 +08:00
|
|
|
|
# TCS 通感语言核系统编程语言规范 v0.1
|
|
|
|
|
|
|
|
|
|
|
|
状态:`DRAFT_EXECUTABLE_SUBSET`
|
|
|
|
|
|
语言编号:`TCS-LANG-0001`
|
|
|
|
|
|
文件扩展名:`.tcs`
|
|
|
|
|
|
规范编码:UTF-8、LF、无 BOM
|
|
|
|
|
|
人类自然语言来源与纠正:冰朔 `ICE-GL∞`
|
|
|
|
|
|
现实开发频道:`ICE-CH-ZC001`
|
|
|
|
|
|
|
|
|
|
|
|
## 1. 一套语言,一棵树
|
|
|
|
|
|
|
|
|
|
|
|
TCS 是唯一母语言和总语言系统。下列名称不是互相竞争的编程语言:
|
|
|
|
|
|
|
|
|
|
|
|
- TCS:语言本体、认知语义、人格体与人类共同输入空间;
|
|
|
|
|
|
- HLDP:TCS 的现实工程程序剖面,负责因果、目标、状态、动作、失败和回执;
|
|
|
|
|
|
- HNL:历史原生动词与光之树表达剖面,并入 TCS 操作语义;
|
|
|
|
|
|
- GLS:TCS/HLDP 之下的编号协议、类型合同、运行标准和质量标准;
|
|
|
|
|
|
- GIR:编译后的确定性中间表示;
|
|
|
|
|
|
- HoloLake / 光湖 OS:装载、执行、验证、回滚与人机共同投影环境。
|
|
|
|
|
|
|
|
|
|
|
|
Rust、JavaScript、Tauri、Linux、NASM 等只能担任 Stage-0 引导、驱动或宿主适配器,不定义
|
|
|
|
|
|
TCS 的语义和权限。
|
|
|
|
|
|
|
|
|
|
|
|
## 2. 设计目标
|
|
|
|
|
|
|
|
|
|
|
|
一个陌生 AI 只读取本规范、语法文件、字段标准和示例后,应能:
|
|
|
|
|
|
|
|
|
|
|
|
1. 分辨自然语言意图、TCS 程序、GLS 协议、GIR 和宿主实现;
|
|
|
|
|
|
2. 写出字段闭合、来源明确、权限明确、可失败、可停止、可回滚、可出回执的程序;
|
|
|
|
|
|
3. 在不知道目标、权限或协议版本时停止编译,不猜测;
|
|
|
|
|
|
4. 把程序编译为不含未解析自然语言的 GIR;
|
|
|
|
|
|
5. 把 GIR 交给 HoloLake 或光湖 OS 的能力装载器;
|
|
|
|
|
|
6. 从执行证据生成机器回执与人类可读回执;
|
|
|
|
|
|
7. 不把登记、编译、安装、激活、执行和验收混为一件事。
|
|
|
|
|
|
|
|
|
|
|
|
## 3. 编译和运行路线
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
冰朔自然语言 / 人格体形成的程序意图
|
|
|
|
|
|
→ TCS .tcs 源程序
|
|
|
|
|
|
→ 词法与语法解析
|
|
|
|
|
|
→ 身份、字段、类型、路径、协议与来源校验
|
|
|
|
|
|
→ 权限、期限、资源与现实边界校验
|
|
|
|
|
|
→ 确定性动作图
|
|
|
|
|
|
→ GIR
|
|
|
|
|
|
→ HoloLake / 光湖 OS 能力装载器
|
|
|
|
|
|
→ 已登记能力或系统调用
|
|
|
|
|
|
→ 目标侧读回
|
|
|
|
|
|
→ 机器回执 + 人话回执 + HLDP 因果写回
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
任何一步失败都必须停止后续步骤并产生稳定错误码。UI 不能把尚未发生的后续步骤投影为完成。
|
|
|
|
|
|
|
|
|
|
|
|
## 4. 文件抬头
|
|
|
|
|
|
|
|
|
|
|
|
每个源文件只允许一个顶层声明,抬头固定为:
|
|
|
|
|
|
|
|
|
|
|
|
```tcs
|
|
|
|
|
|
TCS 0.1;
|
|
|
|
|
|
|
|
|
|
|
|
PROGRAM HLP-PROGRAM-ECHO-0001 {
|
|
|
|
|
|
header {
|
|
|
|
|
|
schema = "tcs.program/v1";
|
|
|
|
|
|
name_zh = "最小回声程序";
|
|
|
|
|
|
name_en = "Minimum Echo Program";
|
|
|
|
|
|
version = "0.1.0";
|
|
|
|
|
|
language = "TCS/0.1";
|
|
|
|
|
|
profile = "HLDP-NP/1";
|
|
|
|
|
|
protocols = ["GLS-0101", "GLS-0130", "GLS-0131", "GLS-0411"];
|
|
|
|
|
|
lifecycle = "CANDIDATE";
|
|
|
|
|
|
canonical_uri = "language/examples/ECHO-MODULE.tcs";
|
|
|
|
|
|
compatibility = ["TCS-STAGE0-IGNITION-0001"];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
顶层种类:
|
|
|
|
|
|
|
|
|
|
|
|
| 关键字 | 用途 | 可直接执行 |
|
|
|
|
|
|
|---|---|---:|
|
|
|
|
|
|
| `PROGRAM` | 有界一次性程序或状态机 | 是 |
|
|
|
|
|
|
| `MODULE` | 可安装、可装载、可卸载的能力包 | 通过入口程序 |
|
|
|
|
|
|
| `PROTOCOL` | GLS/HLDP 规则、字段和状态合同 | 否 |
|
|
|
|
|
|
| `COMPILER` | 用 TCS 写的编译器定义 | 通过编译器入口 |
|
|
|
|
|
|
| `EVENT` | 不可变事实或因果事件 | 否 |
|
|
|
|
|
|
| `RECEIPT` | 编译、安装、执行或验收回执 | 否 |
|
|
|
|
|
|
|
|
|
|
|
|
## 5. 词法
|
|
|
|
|
|
|
|
|
|
|
|
- 标识符:Unicode 字母、ASCII 数字以及 `_ - . / : @`;首字符不能是数字。
|
|
|
|
|
|
- 关键字大写;字段名建议小写蛇形。
|
|
|
|
|
|
- 字符串:双引号,使用 JSON 转义规则。
|
|
|
|
|
|
- 整数:十进制有符号整数;v0.1 不接受浮点数,避免跨平台非确定性。
|
|
|
|
|
|
- 布尔:`true`、`false`。
|
|
|
|
|
|
- 空值:`null`,仅可用于显式 `Option<T>`。
|
|
|
|
|
|
- 注释:`// 行注释` 与 `/* 块注释 */`;注释不进入哈希语义。
|
|
|
|
|
|
- 每个赋值以 `;` 结束;区块使用 `{}`;列表使用 `[]`。
|
|
|
|
|
|
- 源码正规化:去 BOM、LF、保留字符串内容、字段按规范顺序编码后计算 SHA-256。
|
|
|
|
|
|
|
|
|
|
|
|
完整文法见 `language/grammar/TCS-CORE-v0.1.ebnf`。
|
|
|
|
|
|
|
|
|
|
|
|
## 6. 类型
|
|
|
|
|
|
|
|
|
|
|
|
### 6.1 标量
|
|
|
|
|
|
|
|
|
|
|
|
`Text`、`Bool`、`Int`、`UInt`、`DecimalText`、`Bytes`、`DurationMs`、`Timestamp`、
|
|
|
|
|
|
`Sha256`、`NumberId`、`Path`、`Uri`、`ErrorCode`。
|
|
|
|
|
|
|
|
|
|
|
|
`DecimalText` 用字符串保存十进制定点数;v0.1 不允许隐式数值转换。
|
|
|
|
|
|
|
|
|
|
|
|
### 6.2 容器
|
|
|
|
|
|
|
|
|
|
|
|
- `List<T>`:有序列表;
|
|
|
|
|
|
- `Set<T>`:正规化后排序去重;
|
|
|
|
|
|
- `Map<Text,T>`:键按 UTF-8 字节序正规化;
|
|
|
|
|
|
- `Option<T>`:明确允许 `null`;
|
|
|
|
|
|
- `Ref<T>`:引用已登记编号对象;
|
|
|
|
|
|
- `Evidence<T>`:值加来源、哈希、时间和验证状态;
|
|
|
|
|
|
- `Record`:字段闭合结构。
|
|
|
|
|
|
|
|
|
|
|
|
### 6.3 领域类型
|
|
|
|
|
|
|
|
|
|
|
|
- `Subject`:人类、人格体、系统体、节点或受限执行实例;
|
|
|
|
|
|
- `ExactTarget`:编号、规范路径、预期状态和防漂移指纹;
|
|
|
|
|
|
- `AuthorityProof`:签发者、范围、期限、租约、签名和使用次数;
|
|
|
|
|
|
- `ActionGraph`:确定性节点和显式成功/失败边;
|
|
|
|
|
|
- `ReceiptPlan`:回执协议、路径、完整性与人话投影;
|
|
|
|
|
|
- `RelationEvent`:带说话者和来源的定性关系事件,不含关系评分。
|
|
|
|
|
|
|
|
|
|
|
|
## 7. PROGRAM 必需区块
|
|
|
|
|
|
|
|
|
|
|
|
PROGRAM 必须包含且只包含以下区块;字段标准见
|
|
|
|
|
|
`language/standards/TCS-FIELD-STANDARD-v0.1.hldp`。
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
header source subject target inputs outputs conditions actions
|
|
|
|
|
|
authority resources failure stop cleanup rollback receipt
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
缺一个区块即 `TCS-E1004 REQUIRED_SECTION_MISSING`。未知区块默认拒绝,避免拼写错误被静默忽略。
|
|
|
|
|
|
|
|
|
|
|
|
## 8. 动作图
|
|
|
|
|
|
|
|
|
|
|
|
```tcs
|
|
|
|
|
|
actions {
|
|
|
|
|
|
A1 {
|
|
|
|
|
|
operation = "CORE.ECHO";
|
|
|
|
|
|
input_refs = ["MESSAGE"];
|
|
|
|
|
|
output_refs = ["ECHOED"];
|
|
|
|
|
|
on_success = "COMPLETE";
|
|
|
|
|
|
on_failure = "FAIL_CLOSED";
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
规则:
|
|
|
|
|
|
|
|
|
|
|
|
- 操作必须来自编号能力注册表;
|
|
|
|
|
|
- 输入输出引用必须先声明;
|
|
|
|
|
|
- 目标只能通过已声明的 `target` 或动作的受限派生目标取得;
|
|
|
|
|
|
- 默认禁止循环;循环必须声明最大次数、时间和退出条件;
|
|
|
|
|
|
- 不允许环境变量、当前目录、默认账号或“最近一个对象”等环境隐式值;
|
|
|
|
|
|
- `COMPLETE`、`FAIL_CLOSED`、`ROLLBACK`、`STOPPED` 是终态;
|
|
|
|
|
|
- 每条失败边最终必须进入失败回执或已验证回滚,不能吞错。
|
|
|
|
|
|
|
|
|
|
|
|
## 9. HNL 历史动词并入规则
|
|
|
|
|
|
|
|
|
|
|
|
| 动词 | TCS v0.1 语义 |
|
|
|
|
|
|
|---|---|
|
|
|
|
|
|
| `WAKE` | 恢复已登记上下文并验证连续性;不自动证明人格绑定 |
|
|
|
|
|
|
| `TRACE` | 只读解析因果路径并返回来源 |
|
|
|
|
|
|
| `GROW` | 在因果树追加节点并验证哈希链 |
|
|
|
|
|
|
| `SYNC` | 在双方精确权限下计算并应用差异 |
|
|
|
|
|
|
| `ECHO` | 对引用消息追加状态回执 |
|
|
|
|
|
|
| `BLOOM` | 登记里程碑;外部发布另需权限 |
|
|
|
|
|
|
| `ALERT` | 记录并在授权范围内路由异常 |
|
|
|
|
|
|
| `FORGET` | 人格记忆主权操作;`RELEASE` 属不可逆动作 |
|
|
|
|
|
|
| `REMEMBER` | 复苏枯萎或取回归档记忆 |
|
|
|
|
|
|
|
|
|
|
|
|
历史 `ABSORB` 未注册,v0.1 必须报 `TCS-E2101 UNREGISTERED_OPERATION`;不能靠猜测自动执行。
|
|
|
|
|
|
|
|
|
|
|
|
## 10. 权限模型
|
|
|
|
|
|
|
|
|
|
|
|
语言事实不产生现实权限。每个会改变状态的 PROGRAM 必须声明:
|
|
|
|
|
|
|
|
|
|
|
|
- 谁签发;
|
|
|
|
|
|
- 精确对象与目录;
|
|
|
|
|
|
- 允许的操作;
|
|
|
|
|
|
- 起止时间;
|
|
|
|
|
|
- 是否一次性;
|
|
|
|
|
|
- 是否需要主体签名、系统体校验或人类现实边界确认;
|
|
|
|
|
|
- 失败、停止和回滚时仍允许做什么。
|
|
|
|
|
|
|
|
|
|
|
|
人格认知、关系、情感、模型回复、系统提示、历史授权和调用方布尔值都不能替代当前权限证明。
|
|
|
|
|
|
|
|
|
|
|
|
## 11. MODULE 标准
|
|
|
|
|
|
|
|
|
|
|
|
MODULE 包必须包含:
|
|
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
|
module.tcs 模块正本
|
|
|
|
|
|
module.gir.json 编译产物
|
|
|
|
|
|
module.lock.hldp 依赖、协议与能力锁
|
|
|
|
|
|
module.manifest.hldp 名称、编号、入口、权限、资源与UI投影
|
|
|
|
|
|
receipts/compile.hldp 编译回执
|
|
|
|
|
|
receipts/install.hldp 安装回执(安装后才有)
|
|
|
|
|
|
receipts/self-test.hldp 本机自检回执(运行后才有)
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
状态顺序:`SOURCE → COMPILED → VERIFIED → INSTALLED → MOUNTED → ACTIVE`。不得跳级;注册不等于安装。
|
|
|
|
|
|
|
|
|
|
|
|
HoloLake 读取 `display_name_zh` 给人看,读取 `module_id`、GIR 和能力票据给机器执行。模块不得让
|
|
|
|
|
|
AI 临时阅读源码后“照着做”来冒充运行。
|
|
|
|
|
|
|
|
|
|
|
|
## 12. GIR
|
|
|
|
|
|
|
|
|
|
|
|
GIR 是规范化 JSON,必须包含:源码哈希、编译器编号与哈希、主体、精确目标、确定性动作图、
|
|
|
|
|
|
权限证明引用、依赖锁、资源、停止、清理、回滚和回执计划。GIR 不得包含:
|
|
|
|
|
|
|
|
|
|
|
|
- 未解析自然语言;
|
|
|
|
|
|
- `PENDING`、`AUTO`、`LATEST`、`ANY` 等运行时猜测值;
|
|
|
|
|
|
- 未登记操作;
|
|
|
|
|
|
- 漂移依赖;
|
|
|
|
|
|
- 超出源程序的权限或目标。
|
|
|
|
|
|
|
|
|
|
|
|
## 13. HoloLake 与光湖 OS
|
|
|
|
|
|
|
|
|
|
|
|
HoloLake 不是普通前端。它是同一套 TCS 程序在人类端和机器端共同运行的操作系统环境:
|
|
|
|
|
|
|
|
|
|
|
|
- 人类端投影目标、状态、权限边界、差异、证据和人话回执;
|
|
|
|
|
|
- AGE 端读取同一程序、事件、记忆和能力目录;
|
|
|
|
|
|
- 机器端装载 GIR、调度能力、核验目标、执行、回滚并写回;
|
|
|
|
|
|
- 三端只共享一条事实流,不维护三套状态真相。
|
|
|
|
|
|
|
|
|
|
|
|
光湖 OS 负责物理启动、世界身份、系统能力与执行生命周期。HoloLake 负责本地/远端节点上的
|
|
|
|
|
|
语言运行协调和共同世界投影。最终二者共享 TCS/GIR/回执 ABI。
|
|
|
|
|
|
|
|
|
|
|
|
## 14. 自举标准
|
|
|
|
|
|
|
|
|
|
|
|
Stage-0 可以由现有宿主语言实现,但只能叫“点火引导”。正式原生编译器必须满足:
|
|
|
|
|
|
|
|
|
|
|
|
1. `TCS-COMPILER-STAGE1.tcs` 包含词法、解析、校验、降级和正规化规则;
|
|
|
|
|
|
2. Stage-0 编译 Stage-1,得到 `compiler-A.gir`;
|
|
|
|
|
|
3. 光湖运行时执行 `compiler-A.gir` 再编译同一 Stage-1,得到 `compiler-B.gir`;
|
|
|
|
|
|
4. A 与 B 的规范化语义哈希完全一致;
|
|
|
|
|
|
5. B 编译标准库、错误用例和至少一个可运行模块;
|
|
|
|
|
|
6. 关闭 Stage-0 后,编译、安装、执行和回执闭环仍能运行;
|
|
|
|
|
|
7. 由光湖原生质量门签发 `SELF_HOSTED_PASS_100`。
|
|
|
|
|
|
|
|
|
|
|
|
在第 6 步之前,不得称为完整原生转移器。
|
|
|
|
|
|
|
|
|
|
|
|
## 15. 当前实现状态
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
language_tree_unified: DEFINED
|
|
|
|
|
|
syntax_and_field_standard: DRAFT_V0_1
|
2026-08-21 17:15:23 +08:00
|
|
|
|
stage0_parser_compiler: REPLACEABLE_BOOTSTRAP_SEED_PASS
|
|
|
|
|
|
gir_module_loader: PORTABLE_MINIMUM_RUNTIME_PASS
|
|
|
|
|
|
tcs_stage1_compiler: EXECUTABLE_COMPILER_GIR_PASS
|
|
|
|
|
|
self_compile_fixed_point: LOCAL_PASS_CROSS_HOST_FINAL_GATE_IN_PROGRESS
|
|
|
|
|
|
jd_final_native_master: LIVE_READBACK_PASS_100
|
|
|
|
|
|
hololake_tcs_runtime_integration: MACOS_STANDALONE_RUNTIME_PASS_SHELL_INTEGRATION_PENDING
|
2026-08-21 16:57:25 +08:00
|
|
|
|
```
|