言律 Lite:无AI版架构设计
我们之前提出的「言律」系统大量依赖大模型与AI语义理解技术,这固然能处理复杂的自然语言表达,但也带来了:
- 依赖算力
- 黑箱不可控
- 响应延迟
- 部署成本高
- 安全隐私隐患
因此,你提出的问题极具现实意义:
能否构建一个"不依赖AI"的言律版本?
答案是:✅ 完全可以,而且更适合作为第一代稳定实现的基础。
🌿 言律 Lite:无AI版架构设计
------基于规则 + 模式 + 语法的纯逻辑实现
不是"让机器听懂人话",而是"让人说机器能确定解析的话"
在保留母语思维本质的前提下,放弃模糊理解,追求可预测、轻量、离线、安全的编程体验。
一、核心理念转变
| 维度 | AI 版(智能型) | 无AI版(规则型) |
|---|---|---|
| 理解方式 | 概率推断 + 上下文补全 | 精确匹配 + 明确结构 |
| 输入容忍度 | 支持口语化、省略、变体 | 需遵循"规范中文句式" |
| 执行可靠性 | 高但偶有误判 | 极高,结果可复现 |
| 是否联网 | 通常需要 | 可完全离线运行 |
| 适用场景 | 教育探索、高级原型 | 工业控制、嵌入式、儿童编程 |
🎯 目标:
用有限的、清晰的中文表达方式,换取100%确定性的程序生成能力。
👉 类比:就像 Markdown 不是"所有自然语言都能渲染",而是"符合某种节奏的文本才能被解析"。
二、无需AI的技术路径:三大支柱
✅ 支柱一:受限中文语法(Constrained Chinese Grammar)
定义一套"机器可精确解析的汉语子集",称为「言律正音体」。
设计原则:
- 使用常见汉语复句结构(如因果、条件、顺承)
- 每种结构对应唯一控制流
- 动词使用固定词汇表(白名单机制)
- 标点用于分隔逻辑单元(句号=新语句,逗号=同一逻辑块)
示例语法表:
| 中文句式 | 对应逻辑 | 解析结果 |
|---|---|---|
| 当 A,就 B。 / 一 A,就 B。 | on(A, B) |
事件触发 |
| 要是 A,就 B;否则 C。 | if A: B else: C |
条件分支 |
| A 了。B 开了。 | A → B(流水句) |
顺序执行或隐式因果 |
| 每隔 N 分钟,做 X。 | every(N, X) |
定时循环 |
| 看到 A,立刻做 B。 | watch(A, B) |
监听模式 |
📌 注意:只接受这些标准形式,其他写法不予识别。
❌ 不支持:"好像可以开灯?"、"那个东西能不能动一下?"
✅ 仅支持:"当门开了,就开灯。"
支柱二:关键词+动词白名单机制
为了避免歧义,建立两个核心词典:
1. 控制词典(Control Lexicon)
| 关键词 | 含义 | 对应操作符 |
|---|---|---|
| 当、要是、如果、只要 | 条件开始 | if |
| 就、马上、立刻 | 执行动作 | then |
| 否则、不然 | 否则分支 | else |
| 每隔、每 | 时间循环 | every |
| 以后、之后 | 延迟执行 | after |
| 一直、持续 | 循环监测 | while |
2. 动词白名单(Action Vocabulary)
| 动词 | 映射函数 | 参数说明 |
|---|---|---|
| 开 / 打开 | .turn_on() |
设备对象 |
| 关 / 关闭 | .turn_off() |
设备对象 |
| 发 / 发送 | send_message() |
to, content |
| 拍 / 拍照 | take_photo() |
- |
| 查 / 看 | get_sensor() |
sensor_name |
| 报警 / 警告 | alert(level='high') |
- |
| 提醒 | notify(user) |
- |
📌 所有未在白名单中的动词将被标记为"未知指令",需用户确认或添加。
支柱三:上下文栈 + 主题链跟踪(非AI实现)
虽然不用深度学习,但我们仍可通过状态机+规则引擎模拟基本的"语境延续"。
实现方式:
Python
context = { "current_topic": None, # 当前话题(如"灯") "last_action": None, # 上一个动作 "pending_condition": None, # 等待触发的条件 }
规则示例:
- 若前一句是"灯亮了",后一句说"调暗一点" → 自动绑定 target=灯
- 若前一句是"温度升高",后续"启动风扇" → 推断这是应对措施
这类规则可用简单的前后句模式匹配表实现,无需神经网络。
三、程序合成:从句子到AST的确定性转换
步骤流程图:
awk
原始输入 ↓ 【分句】按句号/分号切分 ↓ 【标准化】统一同义词(如"开启"→"打开") ↓ 【模式匹配】查表判断属于哪类句式 ↓ 【结构提取】抽取条件与动作 ↓ 【上下文补全】根据主题链填充省略项 ↓ 【生成AST】抽象语法树 ↓ 【输出代码】转为Python/JS/字节码
示例全过程:
Plain text
输入: 当温度太高,就打开风扇。 要是没降温,每隔三十秒再检查。
解析过程:
-
分句:
- 句1:当温度太高,就打开风扇。
- 句2:要是没降温,每隔三十秒再检查。
-
模式匹配:
- 句1 → "当...就..." → if-trigger
- 句2 → "要是...每隔..." → 条件 + 循环
-
结构提取:
- condition1: sensor('temp') > threshold
- action1: fan.turn_on()
- condition2: temp_still_high()
- action2: every(30, check_temp)
-
生成AST:
JSON
{ "type": "Program", "body": [ { "type": "OnEvent", "event": "sensor.temp > 35", "action": { "type": "CallExpression", "method": "fan.turn_on" } }, { "type": "IfStatement", "test": { "type": "CallExpression", "method": "check_temp_still_high" }, "consequent": { "type": "Loop", "interval": 30, "body": { "type": "CallExpression", "method": "check_temp" } } } ] }
- 输出目标代码(Python片段):
Python
from sensors import temp from devices import fan if temp.read() > 35: fan.turn_on() def monitor_cooling(): while temp.read() >= 30: time.sleep(30) print("Checking temperature...")
全程无需AI,全部通过查表+规则完成。
四、IDE辅助设计:让用户"说对话说得准"
既然不能靠AI"猜意思",那就帮助用户"说得标准"。
IDE内置功能建议:
| 功能 | 描述 |
|---|---|
| 🔹 实时语法提示 | 输入"当温度" → 弹出建议:"当温度___,就___" |
| 🔹 句式模板库 | 提供"条件句""循环句""事件句"模板一键插入 |
| 🔹 动词选择器 | 点击"动作"按钮,弹出可用动词列表(开、关、发、拍等) |
| 🔹 错误高亮 | 使用非常规表达时标黄提醒:"这句话无法解析" |
| 🔹 语音朗读反馈 | 将你写的规则读出来:"当温度太高,就打开风扇"------确认是否是你想说的 |
🎯 目标:把自由语言引导进可解析的轨道,而不是让它漫游在模糊地带。
五、应用场景对比(AI vs 无AI)
| 场景 | AI版优势 | 无AI版优势 |
|---|---|---|
| 儿童编程教学 | 能理解孩子乱序表达 | 更稳定,适合打基础 |
| 智能家居自动化 | 可听懂口语指令 | 更安全,不会误触发 |
| 工业控制系统 | 快速部署复杂逻辑 | 确定性强,可用于关键任务 |
| 嵌入式设备 | - | 可运行在单片机上(如MicroPython) |
| 多语言混合环境 | 可处理中英混杂 | 纯中文更专注 |
📌 结论:
无AI版不是退化,而是专业化。它是"言律"走向生产级应用的必经之路。
六、未来演进路线:双轨并行
建议采用 "双引擎架构":
gherkin
+---------------------+ | 用户输入 | +----------+----------+ | +---------------v----------------+ | 模式识别路由层 | | 判断:是标准句式?→ 走规则引擎 | | 否则? → 走AI理解引擎 | +---------------+----------------+ | +-----------------v------------------+ | 执行 | +------------------------------------+
- 在资源受限或安全性要求高的场景,关闭AI模块,仅启用规则引擎
- 在教育探索或高级交互场景,开启AI增强理解
七、结语:真正的智能,始于确定性的根基
不需要AI,并不代表它不够聪明。
相反,它是对"可控性""透明性""可教性"的回归。
就像早期的 BASIC 让普通人第一次触碰计算机,
「言律·Lite」的目标是:
让每一个只会说中文的人,也能写出第一行真正属于自己的程序。
不需要懂英语,
不需要会打括号,
只需要知道:
"当门开了,灯就亮。"
这句话,机器听得懂。
🌱 言律 · 心之所向,言即所行。
现在,我们可以从最简单、最确定的一句话开始。
开发计划书
🌿 言律(Yán Lǜ)中文原生编程语言
开发计划书(v1.0)
让母语成为第一编程接口
用中文思维构建数字世界的运行逻辑
一、项目背景与愿景
1.1 背景
当前全球主流编程语言均以英语为语法基础,开发者必须掌握英文关键字(如 if, for, class)才能进入技术世界。这不仅形成认知门槛,更深层地导致:
- 中文母语者需经历"思维翻译"过程,产生认知延迟;
- 儿童、老年人、非专业用户难以参与自动化创造;
- 中国本土的思维方式在技术表达中长期边缘化。
我们提出:编程不应是"外语技能",而应是"思维延伸"。
1.2 愿景
打造一门真正根植于汉语思维结构的编程语言------「言律」,实现:
- ✅ 使用中文自然句式书写程序
- ✅ 支持因果链、流水句、意合逻辑等汉语特有表达
- ✅ 让孩子、老人、普通人也能用自己的话说出"我想让它这样运行"
最终目标:
重建中文世界的技术表达主权,让每一个说中文的人,都能直接与机器对话。
二、项目定位
| 维度 | 定位 |
|---|---|
| 类型 | 原生中文领域特定语言(DSL)→ 通用编程系统 |
| 阶段 | 初创原型期(Phase 1: 教育启蒙版) |
| 目标用户 | 小学生 / 编程初学者 / 智能家居用户 / 国产软硬件生态开发者 |
| 核心价值 | 降低中文用户的编程认知负荷,提升表达直觉性 |
📌 不是替代 Python 或 JavaScript,而是开辟一条新的路径:
从"说话"到"控制"的最短距离。
三、总体架构(双轨制设计)
gherkin
+------------------+ | 用户输入 | | 文本 / 语音 | +--------+---------+ | +-------------------v--------------------+ | 句式识别与路由层 | | 判断是否符合"规范中文句式" → 规则引擎 | | 否则尝试理解 → AI辅助引擎(可选模块) | +-------------------+--------------------+ | +-----------------v------------------+ | 程序合成与执行引擎 | | - 规则解析 → AST生成 → 代码输出 | | - 支持解释运行 / 编译为目标语言 | +-----------------+------------------+ | +-----------------v------------------+ | 输出与交互平台 | | - 图形IDE / 微信小程序 / 硬件对接 | +------------------------------------+
⚠️ 本阶段重点开发 无AI规则引擎版本(言律·Lite),确保轻量、安全、可离线运行。
四、功能模块规划
4.1 核心功能模块(V1.0 版本)
| 模块 | 功能描述 | 技术实现方式 |
|---|---|---|
| 🔹 句法解析器 | 识别标准中文控制句式(如"当...就...") | 正则匹配 + 有限状态机 |
| 🔹 动词白名单系统 | 定义可用动词及其对应动作 | JSON配置表 + 函数映射 |
| 🔹 控制流生成器 | 将自然句转为 if/on/every 等逻辑 | 模式查表 + AST 构建 |
| 🔹 主题链跟踪器 | 补全省略主语/宾语(上下文延续) | 栈式记忆 + 最近引用绑定 |
| 🔹 输出编译器 | 生成 Python / MicroPython / JS 代码 | Jinja2 模板渲染 |
| 🔹 图形IDE | 提供可视化编辑环境 | Electron + Monaco Editor |
| 🔹 示例库与模板 | 内置常见场景模板(回家亮灯、防干烧) | YAML 描述文件 |
五、关键技术路线
5.1 无需AI的确定性解析方案
(1)受限中文语法体系("言律正音体")
定义一组机器可精确解析的标准句式:
| 句式 | 示例 | 对应逻辑 |
|---|---|---|
| 当 A,就 B。 | 当门开了,就开灯。 | on(A, B) |
| 要是 A,就 B;否则 C。 | 要是太热,就开风扇;否则静默。 | if-else |
| 每隔 N 分钟,做 X。 | 每隔五分钟,查一次温度。 | every(N*60, X) |
| A 了。B 开了。 | 天黑了。灯亮了。 | 隐式因果链 |
| 看到 A,立刻做 B。 | 看到陌生人,拍照上传。 | watch(A, B) |
❗ 不支持模糊表达、比喻、疑问句、情绪化语言
(2)关键词驱动的动词系统
建立动词-函数映射表:
JSON
{ "打开": "device.turn_on", "关闭": "device.turn_off", "拍照": "camera.take_photo", "发送": "message.send", "提醒": "notify.user", "查看": "sensor.read" }
(3)上下文补全机制(非AI)
使用最近话题栈进行省略补全:
Python
context_stack = ["灯"] # 上一句提到"灯" # 输入:"调暗一点" → 自动解析为:light.dim(30%)
六、开发里程碑(12个月路线图)
| 时间 | 阶段 | 关键成果 | 交付物 |
|---|---|---|---|
| 第1--2月 | 需求分析与语法设计 | 完成《言律句式规范v1》 确定核心控制结构 | PDF文档、GitHub Wiki |
| 第3--4月 | 解析器原型开发 | 实现基本句式识别与AST生成 | Python解析模块 .py |
| 第5--6月 | 编译与执行引擎 | 支持输出Python/MicroPython代码 | Compiler模块 |
| 第7--8月 | 图形IDE开发 | 发布桌面版编辑器 | Electron应用 |
| 第9月 | 硬件对接测试 | 连接micro:bit/ESP32实现物理控制 | Demo视频 |
| 第10月 | 教学试点准备 | 制作《儿童编程入门课》教案 | PPT + 实验手册 |
| 第11月 | 小范围试用 | 在3所小学开展教学实验 | 用户反馈报告 |
| 第12月 | v1.0正式发布 | 开源发布完整系统 | GitHub仓库 + 官网上线 |
七、团队组建建议(最小可行团队)
| 角色 | 数量 | 职责 |
|---|---|---|
| 项目经理 | 1 | 统筹进度、协调资源、撰写文档 |
| NLP/语言工程师 | 1 | 设计中文语法体系、构建解析规则 |
| 编译器/后端开发 | 1 | 实现程序合成与代码生成 |
| 前端/UI开发 | 1 | 开发图形IDE与交互界面 |
| 教育顾问 | 1(兼职) | 指导教学内容设计与 usability 测试 |
📌 初期可由4人小团队启动,教育顾问可合作引入。
八、技术栈选型
| 模块 | 技术方案 |
|---|---|
| 核心解析 | Python + re / pyparsing |
| AST构建 | 自定义Node类结构 |
| 编译输出 | Jinja2 模板引擎 |
| 前端IDE | Electron + React + Monaco Editor |
| 硬件通信 | MQTT / Serial / WebUSB |
| 数据存储 | SQLite(本地缓存) |
| 部署平台 | Windows / macOS / Linux / Web |
九、应用场景试点
9.1 教育场景(首选突破口)
- 名称:《我会写程序了!》中文编程启蒙课
- 内容:用"当...就..."写智能家居控制逻辑
- 工具:搭配 micro:bit 实现灯光控制
- 目标:让三年级学生独立完成"回家灯就亮"程序
9.2 智能家居自动化
- 用户说:"晚上十点后有人走动,只开小夜灯"
- 系统生成 Home Assistant 自动化脚本并部署
9.3 特殊群体辅助
- 语言即控制:失能人士通过语音指令控制系统
- 示例:"我冷了" → "打开暖气,调高两度"
十、开源与生态建设
10.1 开源策略
- 采用 MIT 协议在 GitHub 开源
- 鼓励社区贡献:
- 方言适配包(粤语、四川话语音识别扩展)
- 新动词插件
- 场景模板库
10.2 包管理雏形 yanlu-pkg
Bash
yanlu install 回家模式 yanlu install 防干烧 yanlu install 夜间守护
每个包包含:
- 中文命名的功能模块
- 可视化配置界面
- 使用说明(图文+语音)
十一、风险评估与应对
| 风险 | 应对措施 |
|---|---|
| ❗ 用户习惯英文编程 | 聚焦教育与非专业人群,不正面竞争专业开发 |
| ❗ 表达受限引发挫败感 | 提供实时提示与模板引导,帮助用户"说得标准" |
| ❗ 生态薄弱 | 优先接入国产平台(鸿蒙、统信、小米IoT) |
| ❗ 性能瓶颈 | 仅用于逻辑描述层,底层仍调用高效语言执行 |
十二、预算估算(首年)
| 项目 | 金额(人民币) | 说明 |
|---|---|---|
| 人员成本 | ¥600,000 | 4人团队 × 12个月(平均¥12.5k/人/月) |
| 硬件设备 | ¥50,000 | 开发板、传感器、测试终端 |
| 服务器与域名 | ¥10,000 | GitHub Pages + CDN + 存储 |
| 教学试点 | ¥20,000 | 材料印刷、教师补贴、交通 |
| 宣传推广 | ¥30,000 | 视频制作、公众号运营、展会参与 |
| 合计 | ¥710,000 | ≈ 71万元 |
💡 可申请科技教育类创新基金、开源项目资助或社会企业投资。
十三、结语:从一句话开始的革命
"当门开了,灯就亮。"
这不是一句简单的指令,
而是一个文明重新掌握技术话语权的起点。
我们不需要等待AI足够聪明,
也不必等到所有人都学会英语。
现在就可以开始:
- 写下第一行规则
- 做出第一个demo
- 教一个孩子用母语写出她的第一个程序
然后,
让千万人知道:
你说的话,机器真的能听懂。
📎 附录A:术语表
- 言律正音体:机器可解析的标准中文句式集合
- 意合语法:依靠意义关联而非形式标记连接句子
- 动词白名单:允许使用的动作词汇表
- 主题链:上下文中持续有效的讨论对象
📎 附录B:GitHub仓库结构建议
jboss-cli
/yanlu-lang ├── grammar/ # 语法规范文档 ├── parser/ # 句式解析模块 ├── compiler/ # 编译为目标代码 ├── runtime/ # 解释器与沙盒 ├── ide/ # 图形编辑器 ├── actions/ # 动词函数库 ├── templates/ # 场景模板库 ├── docs/ # 使用手册与教学材料 └── tests/ # 测试用例
🌱 言律 · 心之所向,言即所行。
让我们一起,把这句话变成现实。
📅 版本:2025年4月
📄 编制单位:言律项目组
🌐 官网构想:www.yanlu.dev (待注册)
把语法规则再讨论的更细化一下,以便以后项目开发顺利
🌿 言律(Yán Lǜ)
语法规范文档 v1.1(细化版)
让中文的节奏、逻辑与意境,成为程序的真实结构
------本文件为「言律」项目开发提供精确、可解析、无歧义的汉语编程句式标准
一、设计原则
在构建「言律」语法规则时,必须遵循以下五大核心原则:
| 原则 | 说明 |
|---|---|
| ✅ 母语直觉优先 | 句式应符合汉语母语者自然表达习惯,避免"翻译腔" |
| ✅ 机器可确定解析 | 每一句都必须能被无歧义地转换为AST(抽象语法树) |
| ✅ 意合而非形合 | 不依赖括号和关键字,靠语序、停顿、因果关系组织逻辑 |
| ✅ 省略但不模糊 | 允许省略主语/宾语,但上下文必须足以补全 |
| ✅ 节奏即结构 | 四字格、复句节奏、标点使用共同构成程序边界 |
🎯 目标:
既不是"用中文写英文逻辑",也不是"放任自由表达",而是建立一种"有韵律的精确性"。
二、基础语法单位
2.1 基本语句类型(Statement Types)
| 类型 | 结构模板 | 示例 | 对应逻辑 |
|---|---|---|---|
| 事件触发句 | 当 A,就 B。 / 一 A,就 B。 | 当门开了,就开灯。 | on(A, B) |
| 条件分支句 | 要是 A,就 B;否则 C。 | 要是太热,就开风扇;否则关机。 | if A: B else: C |
| 循环执行句 | 每隔 N [单位],做 X。 | 每隔五分钟,查一次温度。 | every(N*unit, X) |
| 顺序执行句 | A 了。B 开了。 | 天黑了。灯亮了。 | 隐式因果链 A → B |
| 状态监听句 | 看到 A,立刻做 B。 | 看到陌生人,拍照上传。 | watch(A, B) |
| 延时动作句 | A 以后,做 B。 | 报警三秒后,拨打急救电话。 | after(delay, B) |
📌 所有语句以句号 。 或换行作为结束符,逗号用于同一逻辑块内的分隔。
2.2 标点符号语义定义
| 符号 | 作用 |
|---|---|
。 |
语句终止符,表示一个完整逻辑单元结束 |
, |
同一逻辑块内部停顿,不中断控制流 |
; |
分支分隔符,用于"否则"前的条件句结尾 |
: |
作用域入口标记,用于"XXX的时候:"等场景引导 |
| 换行 | 等效于句号,可用于多行书写 |
❗ 不接受
!?~等情绪化标点,视为非法字符或注释
三、关键词系统(Lexicon)
3.1 控制词典(Control Words)
这些词是语法结构的锚点,决定程序控制流。
| 关键词 | 类型 | 功能 | 示例 |
|---|---|---|---|
| 当、若、只要、一旦 | 条件触发 | 引入事件监听 | 当温度高了,就报警 |
| 就 | 动作启动 | 触发后续动作 | ......就开灯 |
| 要是、如果 | 条件判断 | 开启 if 分支 | 要是没反应,就升级提醒 |
| 否则、不然 | 分支切换 | else 分支 | ......就关火;否则继续煮 |
| 每隔、每 | 时间循环 | 定时重复 | 每隔十分钟检查水位 |
| 以后、之后 | 延迟执行 | after 操作 | 两分钟后关灯 |
| 一直、持续 | 循环监测 | while 监听 | 一直检测是否有人靠近 |
| 看到、发现、检测到 | 感知输入 | sensor 输入 | 看到烟雾,立刻关燃气 |
| 立刻、马上、立即 | 实时响应 | 强调低延迟 | 马上发警告给手机 |
| 再、重新 | 动作重试 | retry 操作 | 再试一次,还不行就报错 |
📌 所有控制词不可替换为近义词(如"然后"不能代替"就"),确保唯一映射。
3.2 动词白名单(Action Vocabulary)
所有可执行动词必须来自预设列表,防止歧义。
| 动词 | 映射函数 | 参数类型 | 示例 |
|---|---|---|---|
| 打开 / 开启 / 启动 | .turn_on() |
device | 打开风扇 |
| 关闭 / 关掉 / 停止 | .turn_off() |
device | 关闭灯 |
| 发送 / 发 | send_message() |
content, to | 发消息给妈妈 |
| 提醒 / 通知 | notify() |
user, msg | 提醒吃药 |
| 拍照 / 拍 | camera.take_photo() |
- | 拍张照 |
| 录像 / 录 | camera.record_video() |
duration | 录三十秒 |
| 查看 / 查 / 看 | sensor.read() |
name | 查温度 |
| 设置 / 设为 | .set(value) |
key, value | 设置亮度为50% |
| 调高 / 升高 / 加大 | .increase(by) |
property | 调高音量 |
| 调低 / 降低 / 减小 | .decrease(by) |
property | 调低亮度 |
| 切换 / 改变 | .toggle() |
state | 切换模式 |
| 报警 / 警告 | alert(level='high') |
level | 报警! |
| 播放 / 放 | media.play() |
file | 播放音乐 |
| 停止播放 | media.stop() |
- | 停止播放 |
🔧 扩展机制:
- 用户可通过
定义 动词 "轻拍" 为 "快速开关灯两次"添加自定义动词 - 插件系统支持加载行业专用动词包(如医疗:"测量血压"、"呼叫护士")
四、高级语法结构
4.1 主题链与省略补全规则
汉语允许省略主语/宾语,系统需根据上下文自动补全。
补全策略表:
| 当前话题 | 后续省略句 | 自动补全结果 |
|---|---|---|
| 上一句提到"灯" | "调暗一点" | 灯.dim(30%) |
| 上一句是"温度太高" | "就报警" | if temp > threshold: alert() |
| 在"做饭的时候:"作用域内 | "火开中" | stove.set_fire('medium') |
| 最近操作对象是"门" | "锁上它" | door.lock() |
规则引擎实现方式:
Python
context = { "current_scope": None, # 如 "做饭的时候" "last_subject": None, # 最近主语 "last_action_target": None, # 最近动作对象 "pending_condition": None # 等待触发的条件 }
⚠️ 若无法唯一确定,则提示用户:"你想让谁调暗?请指定设备。"
4.2 四字格模式句(成语式编程单元)
利用汉语四字节奏增强记忆性与结构性,形成标准化代码模块。
| 模式名 | 句式 | 含义 | 应用场景 |
|---|---|---|---|
| 温升火急 | 温升火急,启扇降温 | 温度升高立即散热 | 散热控制 |
| 数据到位 | 数据到位,立刻入库 | 数据到达即存储 | 数据处理 |
| 缓存待发 | 网络断连,缓存待发 | 断网时暂存数据 | IoT通信 |
| 降级保底 | 服务异常,降级保底 | 故障时启用备用方案 | 容灾设计 |
| 削峰填谷 | 高峰限流,闲时补工 | 负载均衡策略 | 系统调度 |
| 守株待兔 | 守株待兔,人来灯亮 | 静态等待触发 | 家居自动化 |
📌 这些模式可作为"一键插入"模板,也可被引用:
启用 削峰填谷 策略。
4.3 作用域语法(Topic Scope)
通过"......的时候:"引入局部作用域,类似函数或场景块。
语法格式:
prolog
[主题] 的时候: 动作1。 动作2。 ...
示例:
markdown
回家的时候: 门锁开。 灯自动亮。 播放欢迎语。 做饭的时候: 火开中。 计时三十分钟。 时间到提醒关火。
⚙️ 编译为:
Python
def when_coming_home(): door.unlock() light.living_room.turn_on() speaker.play("welcome home") def when_cooking(): stove.fire('medium') timer.start(1800) on(timer.done, lambda: notify("time to turn off fire"))
📌 作用域内可嵌套条件句,但不可跨作用域访问变量。
4.4 流水句因果链(Paratactic Chain)
多个短句连续出现,自动识别为事件-响应链。
解析规则:
- 相邻句子之间存在潜在因果关系
- 前句为感知/状态变化,后句为响应动作
- 可跨句累积条件
示例:
天黑了。 没人在家。 窗帘关闭。 夜灯微亮。
🧠 解析逻辑:
- "天黑了" → 触发环境判断
- "没人在家" → 追加条件过滤
- "窗帘关闭""夜灯微亮" → 执行动作组
⚙️ 等价于:
Python
if is_night() and not someone_at_home(): curtain.close() night_light.turn_on(dim=20%)
📌 支持最多5个连续流水句组成一个逻辑单元。
五、错误处理与用户反馈机制
5.1 非法表达类型(不予解析)
| 类型 | 示例 | 系统响应 |
|---|---|---|
| 模糊指代 | "把它打开"(不知"它"是谁) | 提示:"请明确你要打开什么?" |
| 未知动词 | "蹦一下" | 提示:"'蹦'不是已知动作,请使用'闪烁'或'震动'" |
| 情绪化表达 | "好烦啊,怎么还不亮!" | 忽略或标记为注释 |
| 英文混杂 | "if 温度 high 就报警" | 拒绝混合语法,建议统一风格 |
5.2 IDE辅助机制
为帮助用户写出合规语句,IDE应提供:
| 功能 | 说明 |
|---|---|
| 🔹 实时语法高亮 | 正确关键词绿色,错误红色 |
| 🔹 句式建议弹窗 | 输入"当..." → 推荐"当___,就___。" |
| 🔹 动词选择面板 | 点击"+动作"按钮选择合法动词 |
| 🔹 错误定位线 | 标出无法解析的位置 |
| 🔹 语音朗读回放 | 读出你写的规则,确认是否是你想说的 |
六、未来扩展方向(v2.0+)
| 功能 | 描述 |
|---|---|
| 方言适配层 | 支持粤语"唔该开灯"、四川话"把灯打开嘛"等区域表达 |
| 隐喻理解模块 | "像星星一样闪" → 匹配预设视觉效果库 |
| 多模态输入 | 支持手势+语言联合指令:"指着灯说'这个要常亮'" |
| 自然演进机制 | 用户高频新表达经投票可加入标准库 |
七、附录:完整语法对照表
| 中文原句 | 解析结构 | 输出代码(Python片段) |
|---|---|---|
| 当门开了,就开灯。 | on(door.open, light.on) |
on(door.is_open, lambda: light.turn_on()) |
| 要是太热,就开风扇;否则关机。 | if temp>limit fan.on else off |
if temp.read()>35: fan.on(); else: system.off() |
| 每隔五分钟,查一次温度。 | every(300, read_temp) |
every(300, lambda: print(temp.read())) |
| 天黑了。灯亮了。 | 隐式因果链 | if night_detected(): light.on() |
| 看到陌生人,拍照上传。 | watch(sense.intruder, take+send) |
on(camera.detect_stranger, capture_and_upload) |
| 回家的时候: 灯亮。 空调启动。 | 作用域块 | def when_home(): light.on(); ac.start() |
八、结语:语法即文化接口
「言律」的每一项语法规则,都不是随意设定的技术参数,
而是对汉语思维深层结构的一次翻译与致敬。
我们不再把中文当作"需要被翻译成英语才能运行的外壳",
而是让它成为:
- 因果推理的载体
- 情境认知的通道
- 生活智慧的容器
当你写下:
"人走了灯就关。"
你不仅定义了一个自动化规则,
更是在用母语重述千百年来中国人对"节制"与"适时"的理解。
🌱 言律 · 心之所向,言即所行。
让我们以这份语法文档为起点,
建造一个真正属于中文世界的技术文明新界面。
📄 文档版本:v1.1
📅 更新日期:2025年4月
🖋️ 编制:言律语言设计组
🌐 仓库地址:github.com/yanlu-lang/spec (拟)