📦 deps(tsl): sync tsl-playbook from f90faa10

Source-Commit: f90faa10c3
This commit is contained in:
ci[bot]
2026-08-13 15:37:54 +08:00
parent 85a9d8ee40
commit 2c38c5fc06
21 changed files with 721 additions and 1825 deletions
@@ -13,7 +13,7 @@
<!-- section-id: syntax-15-002 -->
- 标识符大小写无关;下划线可出现在标识符中。
- `//` 是行注释;首行 `#!` 可作为 CGI 风格注释;`{ ... }``(* ... *)` 是块注释。
- `//` 是行注释;首行 `#!` 可作为 CGI 风格注释;`{ ... }``(* ... *)` 是块注释。两种块注释可以交错嵌套,同类块注释不能嵌套。
- 条件编译指令使用 `{$define}``{$undef}``{$ifdef}``{$ifndef}``{$else}``{$endif}`
- 条件编译只编译命中的分支;未命中的分支不参与脚本编译。
- `{$explicit+}` 开启后,后续变量必须先用 `var` 声明;`{$explicit-}` 可以在同一源文件里重新关闭这个要求。
@@ -58,7 +58,7 @@ TSL 关键字大小写无关;本表统一按文档推荐写法展示。生成
<!-- section-id: syntax-15-005 -->
<!-- tags: 注释怎么写, 大小写敏感吗, 变量命名, 下划线 -->
<!-- tags: 注释怎么写, 大小写敏感吗, 变量命名, 下划线, 嵌套注释, 块注释 -->
大小写无关与下划线标识符:
@@ -112,6 +112,8 @@ writeLn(40);
- 依次输出 `1``10``30`
- 说明首行 `#!``//``{ ... }``(* ... *)` 都属于文档明确注释形态
- 说明外层 `{ ... }` 可以包含 `(* ... *)`;反向交错也可用
- 同类 `{ { ... } }``(* (* ... *) *)` 不构成嵌套注释,会产生语法错误
- 说明 `define` / `undef` / `ifdef` / `ifndef` / `else` / `endif` 这一组条件编译指令可以正常生效
### 显式变量声明开关
@@ -184,27 +186,13 @@ writeLn(1);
<!-- tags: 编译开关, 编译器选项, 改默认行为 -->
`{$CompileOption}` 用于设置编译期开关,改变编译器的默认行为
TSL 的编译选项使用 `{$Option+}` / `{$Option-}` 一类指令改变后续源码的编译方式。本页只拥有已经分别验证并有专题规则的选项
代码块身份:可直接照写示例
- `{$explicit+}` / `{$explicit-}`:切换变量是否必须预先声明,见上一节
- `{$varByRef+}` / `{$varByRef-}`:切换未修饰形参的默认传递方式,见下一节
- `{$ifdef ...}` 等条件编译指令:控制分支是否参与编译
```tsl
{$CompileOption optimize=1}
echo 1 + 1;
```
代码块身份:输出片段
```text
2
```
说明:
- `{$CompileOption optimize=1}` 开启优化
- 编译选项从出现位置开始生效,直到源文件结束或被其他选项覆盖
- 常见选项包括 `optimize``buffermode``DebugInfo`
- 编译选项细节以项目工具链和实际编译命令为准。
`optimize``buffermode``DebugInfo` 等没有在本 skill 中形成可验证语义,不作为正式可生成选项。不要用“脚本仍能输出结果”来证明某个未知编译选项确实生效。
### 参数默认传递开关
@@ -263,6 +251,8 @@ end;
<!-- section-id: syntax-15-010 -->
- 不要在 `{$explicit+}` 后继续直接使用未声明变量。
- 不要同类嵌套 `{ ... }``(* ... *)` 块注释;需要嵌套时交错使用两种定界符。
- 不要生成未在本页形成可验证规则的 `{$CompileOption optimize=...}``buffermode``DebugInfo`
- 不要把 `{$i ...}` / `{$include ...}` 包含文件写法当成可用能力。
- 不要把 `反例 / 不可照写` 代码块复制进正向示例。