بنقرة واحدة
quoted-ids
豫言源码引号标识符迁移规则。用于编辑 .豫/.yuyan 编译器或库代码,把所有普通名字写成「」形式,同时保持语法关键字、列表括号、占位符、字符串字面量、注释和操作符声明结构正确。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
豫言源码引号标识符迁移规则。用于编辑 .豫/.yuyan 编译器或库代码,把所有普通名字写成「」形式,同时保持语法关键字、列表括号、占位符、字符串字面量、注释和操作符声明结构正确。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Project-specific Yuyan migration rules for replacing local structure blocks such as `虑(...)` / structure-recursive declarations with expression-level `递归虑...其...者...而...` and `虑...者...而...`. Use when editing yylib or compiler `.豫`/`.yuyan` code to exercise the structure recursion operator / reclet syntax, especially when converting old structure declarations, local recursive helper functions, or direct expressions separated by `。`.
Manually remove yylib custom operator declarations and their supporting definitions from the Yuyan codebase, without Python or automated rewrites.
Migration from component-based operators to fixity-based operators in the Yuyan self-hosting compiler
How to bootstrap the Yuyan self-hosting compiler — 5-stage chain, common pitfalls, build commands, and pipeline architecture
| name | quoted-ids |
| description | 豫言源码引号标识符迁移规则。用于编辑 .豫/.yuyan 编译器或库代码,把所有普通名字写成「」形式,同时保持语法关键字、列表括号、占位符、字符串字面量、注释和操作符声明结构正确。 |
使用本规则迁移豫言源码:只保留真正的语法词和语法符号为裸字;凡是名字、类型名、构造器名、函数名、局部变量名、模式变量名、模块路径段,都写成 「名字」。
鉴 分支、虑...而 链或括号块。若文件行数大幅减少,先停下来比较旧版本。*_v0/、豫言编译器_v0/、yylib_v0/ 里的文件,除非用户明确要求。这些目录是回归对照基线。豫言编译器/ 中已经迁移过的相邻代码;诊断迁移遗漏或误删时,可以用 _v0 对照程序结构,但不要把 _v0 的裸字语法直接复制到已迁移文件。普通名字凡出现都加引号:
寻观「标准库」之「操作系统」之「文件系统」之书。「代码生成」乃化「字符串」而...「代码生成」者...「所有外部调用」乃「引用类」于...「所有外部调用」乃「引用类」于(「串典」于「整数」)也。「输出可执行文件路径」乃「引用类」于(「或可有」于「字符串」)也。虑「输出引用」者「新引用」授以「整数」于「零」而「新引用」、「读引用」、「写引用」、「整数」、「小数」、「字符串」、「爻」、「阳」、「阴」、「元」。虑...者 引入的局部绑定名:
虑「输出引用」者「新引用」授以「整数」于「零」而会...而 引入的参数名:
者会「当前路径」而会「式」而承「甲」而承「乙」而化「甲」而「乙」化(化「甲」而「字符串」)而化「甲」列而「字符串」鉴/有 分支中的模式变量和构造器参数名:
有(「式节点」于「内联虑」于「当前」衔「下个」衔【】)则「编译调试打印行」于...「当前路径转模块全局名」于「路径」「名及式」中「零」「读引用」于「输出引用」「式节点」、「自由变量」、「拉姆达抽象续延无绑定」、「爻分支节点」只保留语法词和语法符号为裸字:
虑 者 而 也 于 授以 之 鉴 有 则 或 若 否则化 承 受 会 循 立 乃 号 即 术 交 无序 盖谓寻 观 诵 导入 打开 导出 并打开 书与 合 中 其实『...』 《《...》》 【】 () , 。 ;〇、□加 减 乘 除以 附 衔 接 列 等于 不等于 小于 大于 且 与 合 中不要因为一个名字像内建概念就保留裸字。阳、阴、元、整数、字符串、爻 等作为名字出现时,都写成 「阳」、「阴」、「元」、「整数」、「字符串」、「爻」。
源码中永远不会出现并列的标识符 比如 「甲数」「加」「乙数」
如果一个词在当前上下文中是操作符,就不能加引号:
「个数」减「一」「个数」「减」「一」(「左」小于「右」)且(「甲」等于「乙」)(「左」「小于」「右」)「且」(「甲」「等于」「乙」)类型构造器应用有两种合法写法:
「可有」于「物」可有「物」不要写成:
「可有」「物」可有于「物」解释:普通 于 调用中,构造器也是名字,所以要写 「可有」于「物」。紧凑类型构造器写法中,构造器裸写并紧贴参数,所以 可有「物」 可以;但参数 物 仍然是名字,必须写成 「物」。
列 后缀和名字边界列 既可能是类型后缀,也可能只是某个普通名字的一部分。迁移时先判断上下文:
组件列 表示“组件的列”,写成 「组件」列。组件列 是一个普通名字,写成 「组件列」。组件列 改成 「组件」列,这会把一个变量误写成类型后缀结构。例:
化「组件」列而化「表达式」列而...「构造操作符」于「组件列」于「行号」「构造操作符」于「组件」列于「行号」【 和 】 是列表语法符号,保持裸写;列表内部的名字仍然照常加引号。
【】。【「后名」,『 = 』,「表达式表示」于「当前」】有「头」衔「尾」衔【】则...术、交、无序、盖谓、〇、□ 是操作符声明语法,保持裸写。鉴、有、或有、则 是语法词,保持裸写。有/或有。有...则,后续分支通常是 或有...则;不要在加引号时把 或有 漏掉。例:
鉴「项」而有(「可有」于「值」)则... 或有「可无」则...鉴「项」而有(「可有」于「值」)则... 「可无」则...以下区域内部不要改:
『...』「:...:」「...」《《...》》如果注释里写了旧语法,默认保持不动,除非用户明确要求同步更新注释。
「甲」于「物」「甲」「物」可有「物」可有于「物」语言指南.md 和本规则。apply_patch 手工修改,保持补丁范围小。git diff --stat 和 git diff -- <文件>,确认没有整块逻辑消失。入口类文件尤其要确认顶层执行体还在,例如 入口。豫 必须保留处理参数、打印帮助、进入 regular/worker 模式的 鉴... 分发逻辑。豫言编译器/ 中已迁移代码;需要确认是否误删逻辑时,用 _v0 对照结构,不把 _v0 的裸字直接复制为最终结果。若用户允许验证,按当前仓库最快方式检查:
./yy_bs_stable --type-check-only <路径>rg -n '^[^「『:#[:space:]].*(乃|者)' <文件>rg -n '虑[^「『:[:space:]()]+者|会[^「『:[:space:]()]+而' <文件>rg -n '「(且|加|减|乘|除以|附|衔|接|列|等于|不等于|小于|大于|中|与|合)」' <文件>,逐个确认是否真的是名字。列:rg -n '于「[^」]+」列|衔「[^」]+」列|接「[^」]+」列' <文件>,逐个确认是否应该是 「...列」。git -c core.quotePath=false diff --stat -- <文件>;如果行数或大块缩进结构变化很大,和旧版本或 _v0 对照。git diff -- <文件>如果没有运行验证,要在回复中说明。