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

Source-Commit: a71480a4ae
This commit is contained in:
ci[bot]
2026-08-12 08:38:08 +08:00
parent 683f83d17c
commit 670ba950a6
1496 changed files with 292667 additions and 220122 deletions
@@ -4,10 +4,14 @@
## 本篇职责
<!-- section-id: syntax-15-001 -->
回答“TSL 的词法层规则和编译期开关有哪些”:标识符与大小写、注释形态、保留字清单,以及 `{$...}` 编译开关的书写位置和作用范围。
## 核心规则
<!-- section-id: syntax-15-002 -->
- 标识符大小写无关;下划线可出现在标识符中。
- `//` 是行注释;首行 `#!` 可作为 CGI 风格注释;`{ ... }``(* ... *)` 是块注释。
- 条件编译指令使用 `{$define}``{$undef}``{$ifdef}``{$ifndef}``{$else}``{$endif}`
@@ -20,6 +24,8 @@
## 保留字/关键字速查
<!-- section-id: syntax-15-003 -->
<!-- tags: 关键字列表, 保留字, 哪些名字不能用 -->
TSL 关键字大小写无关;本表统一按文档推荐写法展示。生成代码时不要把这些名称用作普通标识符。
@@ -35,19 +41,23 @@ TSL 关键字大小写无关;本表统一按文档推荐写法展示。生成
| 参数访问 | `params``paramCount``realParamCount``var``out``const` | 普通参数优先写具名形参;`params` / `paramCount` / `realParamCount` 只用于变参或参数个数判断。 |
| 运行时上下文 | `sysParams``system``debugReturn``debugRunEnv``debugRunEnvDo``echo``global``static``thisFunction``_myMem_``_maxMem_``__line__``__stack_frame` | 运行时系统参数见 [10_runtime_context_and_with.md](10_runtime_context_and_with.md);调试相关事实见 [14_debug_and_profiler.md](14_debug_and_profiler.md)。 |
| LIKE 精度 | `likeEps``likeEpsRate` | 只在需要调整 `like` 数值近似判断阈值时使用。 |
| 类与对象 | `type``class``new``findClass``findFunction``fackClass``property``self``virtual``override``overload``protected``public``private``published``static` | 类声明、对象创建和成员规则见 [08_objects_and_classes.md](08_objects_and_classes.md)。 |
| 类与对象 | `type``class``new``findClass``findFunction``fackClass``property``self``virtual``override``overload``Inherited``protected``public``private``published``static` | 类声明、对象创建和成员规则见 [08_objects_and_classes.md](08_objects_and_classes.md)`Inherited;` / `Inherited MethodName(...)` 是祖先类调用写法,同见该页。 |
| 外部调用约定 | `external``cdecl``pascal``stdcall``safecall``fastcall``register` | 外部调用细节见 [17_external_calls_and_threads.md](17_external_calls_and_threads.md)。 |
| 客户端远程调用与权限 | `rdo``rdo2``sudo``setUid` | 平台/客户端远程调用和权限语义不作为普通本地语法模板。 |
| 客户端远程调用与权限 | `rdo``rdo2``sudo``setUid` | `rdo` / `rdo2` 见 [24_client_remote_calls.md](24_client_remote_calls.md);它们不能建模成普通函数。 |
| TS-SQL 查询 | `select``vselect``sselect``mselect``distinct``selectOpt``dRange``as``from``marketTable``infoTable``tradeTable``sqlTable``hugeSqlTable``keepNull``dateKey``of``order``by``where``desc``asc``group``having` | 查询语法见 [13_ts_sql.md](13_ts_sql.md)。 |
| TS-SQL 聚合与上下文 | `checksumOf``countOf``sumOf``maxOf``stdevOf``varOf``totalVarOf``normOf``medianOf``aveDevOf``geoMeanOf``skewOf``kurtosisOf``skew2Of``kurtosis2Of``largeOf``percentileOf``quartileOf``trimMeanOf``avgOf``minOf``aggOf``stdevpOf``varpOf``modeOf``devSqOf``harMeanOf``checksum_aggOf``smallOf``percentRankOf``rankOf``frequencyOf``productOf``refOf``refsOf``aggValue``thisGroup``thisRow``thisRowIndex``thisOrder` | 这些名称只在 TS-SQL 语境中生成。 |
| TS-SQL 写入 | `insert``insertFields``values``update``set``delete``deleteOpt``fetchFirst``fetchNext` | 写回/变更型查询只按 TS-SQL 专题页生成。 |
| 系统保留未使用 | `exports``dispInterface``library``asm``record``resourceString``threadVar``constructor``destructor``inline``packed``abstract``inherited` | 这些名称被系统保留,不作为普通标识符使用,也不作为可写语法模板。 |
| 系统保留未使用 | `exports``dispInterface``library``asm``record``resourceString``threadVar``constructor``destructor``inline``packed``abstract` | 这些名称被系统保留,不作为普通标识符使用,也不作为可写语法模板。 |
<!-- prettier-ignore-end -->
## 可直接照写示例
<!-- section-id: syntax-15-004 -->
### 标识符、注释与条件编译
<!-- section-id: syntax-15-005 -->
<!-- tags: 注释怎么写, 大小写敏感吗, 变量命名, 下划线 -->
大小写无关与下划线标识符:
@@ -106,6 +116,8 @@ writeLn(40);
### 显式变量声明开关
<!-- section-id: syntax-15-006 -->
<!-- tags: 强制声明变量, explicit, 必须先 var -->
`{$explicit+}` 的文档明确形态:
@@ -144,6 +156,8 @@ writeLn(a + b);
### 条件编译分支边界
<!-- section-id: syntax-15-007 -->
<!-- tags: 条件编译, 未命中分支, ifdef 不编译 -->
条件编译不会去编译未命中的坏代码分支:
@@ -166,6 +180,8 @@ writeLn(1);
### `{$CompileOption}` 编译选项
<!-- section-id: syntax-15-008 -->
<!-- tags: 编译开关, 编译器选项, 改默认行为 -->
`{$CompileOption}` 用于设置编译期开关,改变编译器的默认行为:
@@ -192,6 +208,8 @@ echo 1 + 1;
### 参数默认传递开关
<!-- section-id: syntax-15-009 -->
<!-- tags: 全局改传参方式, varByRef 开关, 默认按值还是按引用 -->
`{$varByRef-}``{$varByRef+}`
@@ -242,6 +260,8 @@ end;
## 禁止项
<!-- section-id: syntax-15-010 -->
- 不要在 `{$explicit+}` 后继续直接使用未声明变量。
- 不要把 `{$i ...}` / `{$include ...}` 包含文件写法当成可用能力。
- 不要把 `反例 / 不可照写` 代码块复制进正向示例。